您好,登錄后才能下訂單哦!
序列中的所有元素都是有編號的,就像讀書一樣,每個讀書的學生都有學號。編號從0開始遞增。序列中所有的元素都可以通過編號訪問,這個編號被稱為"索引"。
[例 4.4] 訪問并輸出序列names中的第1個和第3個元素。
names = ['小黑','小白','小紅']
print(names[0]) #運行結果:小黑
print(names[2]) #運行結果:小紅
輸出結果:
小黑
小紅
在上面的代碼中,通過索引0和索引2,分別獲取了names序列中的第1個和第3個元素值。Python語言中的字符串也可以通過索引獲取特定的字符。
s = "Hello World"
print(s[0]) #運行結果:H
print(s[2]) #運行結果:l
print("Apple"[2]) #運行結果:p
輸出結果:
H
l
p
上面的代碼中,通過索引0和索引2,分別獲取了字符串s中的第1個和第3個字符。然后通過索引2獲取了字符串Apple的第3個字符。
通過input輸入的字符串也可以通過索引引用其中的某個字符。
[例 4.6] 輸入一個年份,如果只對年份的最后一個字符感興趣,獲取使用索引截取年份的最后一位數字。
fourth = input('請輸入年份:')[3]
print(fourth)
輸出結果:
請輸入年份:2019
9
如果索引是0或正整數,那么Python語言會從序列左側第1個元素開始取值,如果索引是負數,那么Python語言會從序列右側第1個元素開始取值。序列最后一個元素的索引是-1,倒數第2個元素的索引是-2,以此類推。
[例 4.7] 通過索引獲取names序列中的第1個元素值,以及通過負數索引獲取names序列中倒數第1個和倒數第2個元素值。
names = ['小黑','小白','小紅']
print(names[0])
print(names[-1])
print(names[-2])
輸出結果:
小黑
小紅
小白
當索引超過序列的索引范圍時,會拋出異常。
[例 4.8] 使用索引4和-4引用names序列中的元素值,這兩個索引都超出了names序列的索引范圍,所以會拋出異常。不過當第1個異常拋出時,后面的語句都不會執行了。
names = ['小黑','小白','小紅']
print(names[4]) #超出索引序列范圍,將導致拋出異常
print(names[-4]) #超出索引序列范圍,將導致拋出異常
在上面代碼中,無論是索引4,還是索引-4,都超過了names序列索引的范圍,所以拋出異常。
[例 4.9] 本例要求輸入年、月、日,并將月轉換為中文輸出,如輸入的月份是4,要求輸出"4月"。
months = [
'一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月']
year = input("年:") #輸入年
month = input("月(1-12):") #輸入月
day = input("日(1-31):") #輸入日
monthNumber = int(month) #將輸入的字符串格式轉換為數值型
monthName = months[monthNumber - 1] #從序列中獲取中文的月份
print(year + '年' + monthName + '' + day + '日') #按指定格式輸入年月日
輸出結果:
年:2019
月(1-12):5
日(1-31):21
2019年五月21日
上面代碼中,通過months變量名創建一個序列,通過year變量名保存用戶輸入的年份,通過month變量名保存用戶輸入的月份,通過day變量名保存用戶輸入的日。然后把保存在month變量中月份的值轉換成數值型,并變量賦值給monthNumber。然后從months序列中獲取月份。通過monthNumber變量中保存轉換后的月份-1,就可以獲得指定格式的字符串格式的月份,最后再按格式輸出年月日。也許很多人不明白為什么monthNumber需要-1?舉個例子,如果你輸入的月份是10月份,然后通過int類型轉換,把字符串類型轉換成數值型。就可以把monthNumber - 1看作是10-1。10-1等于9,那序列第1個元素從0開始數,第9個元素就是10,以此類推。如果沒有monthNumber - 1 那么你輸入的月份永遠比序列中的大1,而且當你輸入12的時候,就會拋出異常。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。