概念
可迭代对象,可变对象,有序序列,偏移量访问,支持任意嵌套。
列表中的元素可以是任意类型,包括字符串,数字,列表,字典等。
索引,切片
支持负索引,切片方法与字符串一样。
单层列表:
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]