定義:
列表是一種可變序列,是容器性對象,so列表的元素可以是任何類型的對象,例如:字符串,數字,列表,元祖,字典等...
[1, 2, 3, 'a', 'b', 'c', [4, 5], (6, 7), {'d': '22'}]
方法:
列表的切片
list1 = [1, 2, 'a', '3', 4]
print(list1[0:2])
[1, 2]
列表可以用乘法,加法
list2 = [1, 2, 3]
print(list2*3)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
print(list2 + [4, 5])
[1, 2, 3, 4, 5]
.append(),.count(),.pop(),.remove(),.index(),.clear(),
list3 = ['fire', 2, 'angry', 'knife', 4, 44, 4]
list3.append(10) # 向列表末尾添加數字
print(list3)
['fire', 2, 'angry', 'knife', 4, 44, 4, 10]
list3.count(4) # 統計數字4在列表中出現的次數
2
list3.pop() # 刪除列表最後一個元素。並返回這個元素
10
list3.remove('fire') # 刪除列表中的'fire',如果有多個fire只刪除從左向右的第一個
print(list3)
[2, 'angry', 'knife', 4, 44, 4]
list3.index('knife') # 返回'knife'在列表中的索引值
2
list3.clear() # 清空列表
print(list3)
[]
.sort(),.reverse()--->>需要注意的是,這兩個方法都是沒有返回值的,也就是說他們會在原地修改列表,而不能將結果賦予一個變量,排序的時候列表裏要是同一種數據類型纔可以排序
list4 = [20, 2, 5, 1, 99, 45, 20, 21, 3]
list4.sort() # 對列表中的元素進行排序,默認爲升序,在括號中傳入參數reverse=True,改爲降序
print(list4)
[1, 2, 3, 5, 20, 20, 21, 45, 99]
list4.sort(reverse=True)
print(list4) # 降序
[99, 45, 21, 20, 20, 5, 3, 2, 1]
list5 = ['hello', 2, 3, 'python']
list5.reverse() # 將列表中的元素逆轉
print(list5)
['python', 3, 2, 'hello']
list6 = list4.sort() # 無返回值,.reverse()也是一樣的沒有返回值
print(list6)
None
sorted(list),min(list),max(list),sum(list)--->>這些方法一般用於純數字列表...
list7 = [9, 2, 31, 5, 8, 2, 20]
list8 = sorted(list7) # 一個有返回值的排序方法,不會修改原列表
print(list8)
[2, 2, 5, 8, 9, 20, 31] # 和.sort()一樣也是默認升序,降序的話傳入參數reverse=True
print(list7)
[9, 2, 31, 5, 8, 2, 20]
print(min(list7)) # 列表中最小的值
2
print(max(list7)) # 列表中最大的值
31
print(sum(list7)) # 列表中所有值的和
77
enumerate()--->>用於將一個可遍歷的數據對象組合爲一個索引序列,同時列出數據和數據的索引值
list9 = ['a', 'b', 'c', 'd', 'e']
for i,element in enumerate(list9):
print(i, element)
0 a
1 b
2 c
3 d
4 e
.insert(),.extend()--->>值得注意的是:.extend()是對原來列表的擴充,而列表相加是生成一個新列表
list10 = ['i', 'am', 'sad']
list10.insert(2, 'so') # 在指定的索引值位置插入指定的數據
print(list10)
['i', 'am', 'so', 'sad']
list11 = ['so', 'is', 'you']
list10.extend(list11) # 可向列表添加多個元素
print(list11)
['i', 'am', 'so', 'sad', 'so', 'is', 'you']