何為列表
name = ['Michael', 'Bob', 'Tracy']
a = [5, 2, 3, 1, 4]
li = [{"day":2},{"day":1},{"day":3}]
符合以上特點,可稱為列表
創建列表
list1 = []
list2 = [2, 3, 4]
list3 = ["red", "green"]
list4 = [2, "three", 4] #注意:一個列表里面可以包含不同類型的元素
列表操作
- 取值
List[0] #取第一個值
List[0:5] #取前五個值
List[-1] #取最后一個值
- 輸出列表長度
print(len(list_name)
- 修改
List[0] = 'aaxzaxjsa'
- 列表排序
List.sort() #正向排序
List.reverse() #反轉列表
List.sort().reverse() #先正向排序再反轉列表,就是反向排序
- 列表內元素完成復制
使用*
完成
>>> a=[1,2]
>>> a*2
[1, 2, 1, 2]
- 列表倒置
list_name[::-1]
或
list_name.reverse()
- 列表切片
#列表切片,切取索引從a到b-1的元素
sample[a:b]
#列表切片,切取索引從a到結束的元素
sample[a:]
#列表切片,切取索引從0到b-1的元素
sample[:b]
#列表復制,切取所有并賦值給一個變量
variable_name=sample[:]
- 列表解析
>>> list1 = [x for x in range(5)]
>>> list1
[0, 1, 2, 3, 4]
>>> list2 = [0.5 * x for x in list1]
>>> list2
[0.0, 0.5, 1.0, 1.5, 2.0]
>>> list3 = [x for x in list2 if x < 1.5]
>>> list3
[0.0, 0.5, 1.0]
- 列表遍歷
for element in sample:
print (element)
- 列表組合
將列表或元組對應位置的元素組合成元組,并返回包含這些元組的zip對象,里面是一個個元組
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>list(zip(a,b))
[(1,4),(2,5),(3,6)]
- 常用方法
L.index(value[,begin[,end]])
- 返回對應元素的索引下標,
- begin為開始索引,end為結束索引
- 當 value 不存在時觸發ValueError錯誤
L.insert(index,obj):在指定位置插入元素
- index:索引值,插入到索引值之前
L.count(x):返回列表中x的個數(沒有,返回0)
L.remove(value):從列表中刪除值
- 只刪除第一次出現的value
- 需要知道value
L.copy():復制列表(生成新的id值;只復制一層,不復制深層對象)
L.append(value)
- 向列表末尾追加單個元素
- L = [1,2,3]
L.append([6,7,8])
--> L = [1,2,3,[6,7,8]]
L.extend(list)
- 擴展,向列表追加列表
- L = [1,2,3]
L.extend([6,7,8])
--> L = [1,2,3,6,7,8]
也就是列表的合并
>>> L1 = [1, 2, 3, 4, 5]
>>> L2 = [20, 30, 40]
>>> L1.extend(L2)
>>> L1
[1, 2, 3, 4, 5, 20, 30, 40]
直接使用L1 + L2亦可
L.clear(): 清空列表
- 等同于 L[:] = []
L.sort(reverse = False):排序
- 將列表中的元素進行排序,默認順序按值的小到大的順序排列
L.reverse():列表的反轉,改變原列表的先后順序,返回值None
L.pop([index]):彈出元素
- 不加index時,默認刪除最后一個元素,并返回刪除元素的引用關系
- 刪除索引對應的元素
求和
sum(list_name)
最大最小
max(a)
min(a)
- 列表元素去重
>>> a
[1, 2, 2, 3, 6, 8]
>>> a = list(set(a))
>>> a
[1, 2, 3, 6, 8]
>>>
- 將字符串分割為列表
str類中的split方法,可指定分割的標志。
>>> items = "the weather is cold today".split()
>>> items
['the', 'weather', 'is', 'cold', 'today']
>>> items = "2019/11/6".split("/")
>>> items
['2019', '11', '6']
- Python將多個list合并為1個list
可以使用"+"號完成操作,或使用extend方法。