標籤:通過 相同 image flags 輸出 log 一個 輸入 視頻
1.定義序列
本文將介紹一下在Python語言中如何定義序列。定義序列的文法與Java中的數組類似,使用一對中括弧將序列中的元素值括起來。
下面的例子建立一個元素類型是字串的序列,實現代碼如下:
names = ["Bill", "Mary", "Jack"]
同一個序列,不僅可以包含相同類型的值,還可以包含不同類型的值。
下面的例子在一個序列中放置不同類型的值,實現代碼如下:
values = ["Bill", 30,12.5, True]
在上面的代碼中,values序列中包含了4個元素值,這4個元素值是不同的資料類型,分別是字串("Bill")、整數(30)、浮點數(12.5)和布爾類型。
序列的每一個元素還可以是另外一個序列,其實這麼定義就相當於一個二維或多維陣列。
本例建立一個二維序列,每一個序列的元素值的類型是一個序列。
names = ["Bill", "Mike"]numbers = [1,2,3,4,5,6]salary=[3000.0,4000.0,5000.0]flags = [True,False,True,True]values = [names,numbers,salary,flags,[‘a‘,‘b‘]] # 建立二維序列for value in values: # 輸出二維序列 print(value)
程式運行結果如所示。
2.通過索引操作序列元素
序列中的所有元素都是有編號的,編號從0開始遞增。序列中的所有元素都可以通過編號訪問,這個編號被稱為索引。
下面的例子訪問並輸出序列names中的第1個和第3個元素。
names = ["Bill", "Mary", "Jack"]print(names[0]) # 運行結果:Billprint(names[2]) # 運行結果:Jack
程式運行結果如所示。
在上面的代碼中,通過索引0和索引2,分別擷取了names序列中的第1個和第3個元素值。Python語言中的字串也可以通過索引擷取特定的字元。
本例通過索引擷取並輸出字串s中的第1個和第4個字元,以及擷取“Apple”的第3個字元。
s = "Hello World"print(s[0]) # 運行結果:Hprint(s[3]) # 運行結果:lprint("Apple"[2]) # 運行結果:p
程式運行結果如所示。
在上面的代碼中,通過索引0和索引3,分別擷取了字串s中的第1個和第4個字元。然後通過索引2擷取了字串“Apple”的第3個字元。
通過input輸入的字串也可以通過索引引用其中的某個字元。
本例輸入一個年份,如果只對年份的最後一個字元感興趣,擷取使用索引截取年份的最後一位元字。
fourth = input(‘請輸入年份:‘)[3]print(fourth)
程式運行結果如所示。
如果索引是0或正整數,那麼Python語言會從序列左側第1個元素開始取值,如果索引是負數,那麼Python語言會從序列右側第1個元素開始取值。序列最後一個元素的索引是-1,倒數第2個元素的索引是-2,以此類推。
本例通過索引擷取names序列中的第1個元素值,以及通過負數索引擷取names序列中倒數第1個和倒數第2個元素值。
names = ["Bill", "Mary", "Jack"]print(names[0]) # 運行結果:Billprint(names[-1]) # 運行結果:Jackprint(names[-2]) # 運行結果:Mary
程式運行結果如所示。
當索引超過序列的索引範圍時,會拋出異常。
本例使用索引4和-4引用names序列中的元素值,這兩個索引都超出了names序列的索引範圍,所以會拋出異常。不過當第1個異常拋出時,後面的語句都不會執行了。
names = ["Bill", "Mary", "Jack"]print(names[4]) # 索引超出names序列的範圍,將導致拋出異常print(names[-4]) # 索引超出names序列的範圍,將導致拋出異常
程式運行結果如所示。
在上面的代碼中,無論是索引4,還是索引-4,都超過了names序列索引的範圍(-3 <= 索引範圍 <= 2),所以會拋出異常。
本例要求輸入年、月、日,並將月轉換為中文輸出,如輸入的月份是4,要求輸出“四月”。
# 將中文月份放到序列中months = [ ‘一月‘, ‘二月‘, ‘三月‘, ‘四月‘, ‘五月‘, ‘六月‘, ‘七月‘, ‘八月‘, ‘九月‘, ‘十月‘, ‘十一月‘, ‘十二月‘ ]year = input("年:") # 輸入年month = input(‘月(1-12):‘) # 輸入月day = input(‘日(1-31):‘) # 輸入日monthNumber = int(month) # 將字串形式的月轉換為數值形式的月monthName = months[monthNumber - 1] # 從序列中擷取中文的月份print(year + "年 " + monthName + " " + day + "日") # 按指定格式輸入年月日
程式運行結果如所示。
《Python從菜鳥到高手》已經出版,開始連載了,購買送視頻課程
Python從菜鳥到高手(12):通過索引操作序列元素