由于列表list是一個(gè)有序的容器,所以在list里面,每一個(gè)元素都有一個(gè)唯一的位置,我們稱之為索引(index),這和字符串是類似的,因此我們也可以通過(guò)位置的方式獲取list中的元素,回顧一下前面學(xué)習(xí)的,我們通過(guò)中括號(hào)[]
來(lái)按位置訪問(wèn)對(duì)應(yīng)的元素。
注意,這里要注意區(qū)分,列表的定義也是通過(guò)中括號(hào)[]
來(lái)定義的,但這和通過(guò)索引訪問(wèn)列表里面的元素并不沖突
names = ['Alice', 'Bob', 'David', 'Ellena'] print(names[0]) print(names[1]) print(names[2]) print(names[3])
由于names只有四個(gè)元素,所以我們最多只能通過(guò)索引3訪問(wèn)到最后一個(gè)元素。試想一下,如果我們print(names[4]),會(huì)怎么樣?
names = ['Alice', 'Bob', 'David', 'Ellena'] print(names[4])
事實(shí)上,這會(huì)引起Python運(yùn)行的錯(cuò)誤,提示索引訪問(wèn)超出范圍。
Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range
因此,我們?cè)谑褂盟饕姆绞皆L問(wèn)列表時(shí),一定要特別注意不要越界。
同時(shí),列表和字符串一樣,也支持切片,通過(guò)切片的方式,獲取到列表的子列表。
names = ['Alice', 'Bob', 'David', 'Ellena'] sub_names = names[0:2] print(sub_names)
這里需要注意一下,如果我們?cè)浇缜衅脑?,不?huì)出現(xiàn)Python運(yùn)行錯(cuò)誤,但是按照這樣的下標(biāo)去切片,獲取不到任何元素。
names = ['Alice', 'Bob', 'David', 'Ellena'] sub_names = names[5:10] print(sub_names) # ==> []
五名同學(xué)的成績(jī)可以用一個(gè)list表示:L = [95.5, 85, 59, 66, 72],請(qǐng)按照索引的方式分別打印出第一名、第二名、第三名。
參考答案:
L = [95.5, 85, 59, 66, 72] print(L[0]) print(L[1]) print(L[4])
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開(kāi)微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書(shū)簽
舉報(bào)