列表的增刪改查講完之后,我們接著來看列表的切片。
切片就很簡單了,和字符串一樣,也是顧頭不顧尾。
我還是把上章的列表拿來用。拿前面兩個元素,就要選擇0號索引和2號索引,因?yàn)轭欘^不顧尾嗎。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print(name[0:2])
前面我們講字符串切片的時候可以指定步長和反向步長,同樣列表切片也可以指定步長和反向步長。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print(name[::2])
切片我們還要注意一點(diǎn),不是剪切,不會改變原來的內(nèi)容,二十拷貝一份,而且這個拷貝是淺拷貝。前面講深淺拷貝的時候后也說過,默認(rèn)情況下所有的拷貝都是淺拷貝, 除非用了那個copy模塊下的deepcopy,那才是深拷貝。
然后下一個len統(tǒng)計長度,和前面字符串的len用法一樣。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print(len(name))
接著看成員運(yùn)算,就是in和not in了,也很簡單。就是判斷一個元素是否存在于列表里面,和字符串成員運(yùn)算沒什么不同。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print('云韻' in name)
然后是循環(huán),列表可以用來做for循環(huán),這個講for循環(huán)的時候就講過了,也就不再多講了。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
for i in name:
print(i)
但是要注意一點(diǎn),就是你用for循環(huán)遍歷列表的時候,你不能一邊遍歷列表,然后一邊又在for循環(huán)的子代碼塊里面,修改這個列表。我說的這個修改包括刪除和增加。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
for i in name:
name.pop(0)
print(name)
本來循環(huán)4次的,現(xiàn)在只能循環(huán)2次了。當(dāng)然不止是列表,所有能進(jìn)行for循環(huán)的類型,都不要這么去做。
然后我們再來看下個功能count,這個功能是統(tǒng)計列表里一個元素出現(xiàn)的次數(shù)。
我把剛才的列表里增加三個美杜莎,然后統(tǒng)計美杜莎的個數(shù)。
name = ['美杜莎', '古薰兒', '云韻', '雅妃', '美杜莎', '美杜莎', '美杜莎']
print(name.count('美杜莎'))
繼續(xù)看下個功能,index。這個功能是查看列表里一個元素的索引。比如我要查看美杜莎的索引,還是上面那個列表。
name = ['美杜莎', '古薰兒', '云韻', '雅妃', '美杜莎', '美杜莎', '美杜莎']
print(name.index('美杜莎'))
這個index功能是從左往右找的,找到第一個就不會繼續(xù)往后找了,所以列表里后面出現(xiàn)同樣的元素,也不會顯示索引。如果你找的元素不存在列表中,就會直接報錯,你可以自己試一下。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 列表詳解4