您好,登錄后才能下訂單哦!
本文將介紹一下在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)
程序運行結果如下圖所示。
序列中的所有元素都是有編號的,編號從0開始遞增。序列中的所有元素都可以通過編號訪問,這個編號被稱為索引。
下面的例子訪問并輸出序列names中的第1個和第3個元素。
names = ["Bill", "Mary", "Jack"]
print(names[0]) # 運行結果:Bill
print(names[2]) # 運行結果:Jack
程序運行結果如下圖所示。
在上面的代碼中,通過索引0和索引2,分別獲取了names序列中的第1個和第3個元素值。Python語言中的字符串也可以通過索引獲取特定的字符。
本例通過索引獲取并輸出字符串s中的第1個和第4個字符,以及獲取“Apple”的第3個字符。
s = "Hello World"
print(s[0]) # 運行結果:H
print(s[3]) # 運行結果:l
print("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]) # 運行結果:Bill
print(names[-1]) # 運行結果:Jack
print(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從菜鳥到高手》已經出版,開始連載了,購買送視頻課程
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。