概念
可迭代對象,可變對象,有序序列,偏移量訪問,支持任意嵌套。
列表中的元素可以是任意類型,包括字符串,數字,列表,字典等。
索引,切片
支持負索引,切片方法與字符串一樣。
單層列表:
list1 = [0,1,2,3,4,5,6,7,8,9]
list1[3]>>>3
list1[-3]>>>7
list1[3:8:2]>>>[3, 5,7]
多重列表:
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list1[2][1]>>>8
list1[-1][-1]>>>9
list1[1][1:3]>>>[5, 6]
list1[1:2]>>>[[4, 5, 6]]
方法
'+'列表相加,不會改變原列表
list1=['a','b','c']
print(list1+['e','f'])
>>>['a', 'b', 'c', 'e', 'f']
'*'列表重複,不會改變原列表
list1=['a','b','c']
print(list1*3)
>>>['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
L.append(object)從尾部添加列表元素,在原列表上修改
list1=['a','b','c']
list1.append([1,2])
print(list1)
>>>['a', 'b', 'c', [1, 2]]
L.index(object[,start,end])查找索引,默認整個列表
注意要是查找嵌套字典不能直接來查找子元素的元素
list1=['a','b','c']
print(list1.index('b'))
>>>2
L.sort([key='key',reverse=bool])列表排序
key是一個供排序調用的函數比如key=len就會按照長度排序
默認升序,reverse=True時爲降序
list1=['abc','ABD','aBe']
list1.sort()
print(list1)>>>['ABD', 'aBe', 'abc']
list1.sort(key=str.lower,reverse=True)
print(list1)>>>['aBe', 'ABD', 'abc']
L.count(object)統計對象出現的次數
L.clear()清除所有元素
L.copy()複製,指向地址不同
list1=['abc','ABD','aBe']
list2=list1.copy()
print(list1==list2)>>>True
print(list1 is list2)>>>False
del(list)刪除整個列表
del(list[i:j])刪除指定部分
L.extend(iterable)尾部擴展,可迭代對象都可以作爲參數
字符串會單字符串添加,字典會將key值都加入。
L.insert(index,object)在指定位置添加元素
L.pop(index)刪除指定位置元素
L.remove(object)刪除指定元素
L.reverse()列表反轉
推導式
創建列表
list1=[[i for i in range(j,j+3)]for j in range(1,10,3)]
print(list1)
>>>[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
取出中間一列
row1=[row[1]for row in list1]
print(row1)
>>>[2, 5, 8]
循環列表
for i in list1:
print(i)
>>>[1, 2, 3]
[4, 5, 6]
[7, 8, 9]