前言
列表是一種結構化、非標量的類型,是一個由多個字符構成的序列,不需要具有相同的類型。其中,列表值指的是它本身,而列表項指的是列表中的每個字符的值,表現爲[‘a’,’b’,’c’,’d’,’e’]。列表是“可變的”,它的值可以添加、刪除或改變。
一、遍歷列表
list = ['a','b','c','d','e']
print(list) # ['a', 'b', 'c', 'd', 'e']
1、獲取單個值
列表中的每一個列表項都會有一個索引數字,從0開始,以此類推,不能上溢,可以通過該索引訪問該列表的每一個列表項,獲取單個值。如果是負數,則從後往前訪問該列表,-1爲訪問最後一個,-2爲訪問倒數第二個,以此類推。
print(list[0]) # a
print(list[1]) # b
print(list[-1]) # e
2、多重賦值技巧
num=[1,2,3,4]
a,b,c,d = num #即a=1,=2….類推 其中變量數目和列表長度必須嚴格相等
3、循環遍歷技巧
一個常見的Python 技巧,是在for 循環中使用range(len(someList)),迭代列表的每一個下標
for index in range(len(list1)):
print(list1[index]) # 通過循環用下標遍歷列表元素
for elem in list1:
print(elem) # 通過for循環遍歷列表元素
for index, elem in enumerate(list1):
print(index, elem) # 同時獲得元素索引和值
4、多層列表
並且列表中能包含其他列表,有層次關係,可通過多重下標進行訪問。
index = [['a','b','c'],[1,2,3]]
print(index[0][0]) # a 第一個數字表示是哪個列表,第二個數字表示列表中的值
5、列表的切片操作
列表的切片可以獲取多個值,返回一個新的列表。其中有兩個數字,第一個是開始索引,第二個是結束索引,但是截取的新列表不包括它。可以省略其中的第一個下標或者第二個下標,省略第一個表示從0開始,省略第二個表示到列表的末尾
print(list[1:3]) # ['b', 'c']
print(list[0:3]) # ['a', 'b', 'c']
二、更新列表
1、使用索引可以改變列表中的值
list[0] = 'aaa'
print(list) # ['aaa', 'b', 'c', 'd', 'e']
2、列表的連接和複製
+號可以連接兩個列表,合成一個新列表。*號可以作用於一個列表和整數進行列表的複製
print(list+['1','2',3]) # ['a', 'b', 'c', 'd', 'e', '1', '2', 3]
list2 = list * 3
print(list2) # ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
3、append()和insert()函數添加列表項
可以通過append()和insert()函數添加列表項,其中append()將值添加到列表末尾, insert(3,‘g’)可實現按位置添加值,第一個參數是新值索引,第二個參數是新值
list.append('fg')
print(list) # ['a', 'b', 'c', 'd', 'e', 'fg']
list.insert(3,'g')
print(list) # ['a', 'b', 'c', 'g', 'd', 'e']
三、刪除列表
1、del語句刪除
del語句可以刪除列表中的值,按照索引進行刪除,後面的值往前相應的移動
del list[0]
print(list) # ['b', 'c', 'd', 'e']
2、remove()方法刪除
使用remove()方法可以從列表中刪除值,先使用if判斷該值是否在列表中再刪除。如果該值出現多次,只有第一個列表項會被刪除
if 'a' in list:
list.remove('a')
print(list) # ['b', 'c', 'd', 'e']
3、pop()方法刪除
使用pop()方法可以從列表指定位置刪除值
list.pop(1)
print(list) # ['a', 'c', 'd', 'e']
4、clear()方法清空
使用clear()方法可以清空列表中的值
list.clear()
print(list) #[]
四、其他操作
1、檢查成員
in和not in 操作符,可以判斷一個值是否在列表中。連接兩個值,一個是列表,一個是要判斷的值,返回值爲布爾值
print('a' in list) # True
2、獲取列表長度
len()函數可以取得列表的長度,即列表中值的個數
print(len(list)) # 5
五、一些方法
index()方法可以在列表中查找值,返回值存在的下標,如果存在多個相同值,返回第一個下標
print(list.index('a')) # 0
使用sort()方法將數值或字符串列表進行排序 如num.sort()
也可以使用num.sort(reverse=True)按逆序排序,能對既有數字又有字符串的列表進行排序,使用ASCII字符順序排序,大寫在小寫之前,若num.sort(key=str.lower)則按普通字典排序
使用sorted(list)函數可以對列表進行排序,返回列表排序後的列表,不會修改傳入的列表,
list = ['a','b','c','3','5','A','B']
print(sorted(list)) # ['3', '5', 'A', 'B', 'a', 'b', 'c']
使用count()方法可以統計某個元素出現在列表中的次數
print(list.count('a')) # 統計某個元素在列表中出現的次數
使用reverse()方法可以反向轉列表中的元素