列表
变量可以存储一个元素,而列表是一个容器,可以存储N多个元素,程序可以方便地对这些数据进行整体操作
列表相当于其他语言中的数组
列表的两种创建方式
lst=['1','32',2323]
lst2=list(['34','aqws',67])
列表切片
lst=[0,1,2,3,4,5,6,7,8,9,10]
#获取从lst下标1开始,到下标5结束(不包括5),布长为1的列表
lst1=lst[1:5:]
#获取从lst下标1开始,到末尾结束,布长为2的列表
lst2=lst[1::2]
#获取从lst下标0开始,到下标5结束(不包括5),布长为3的列表
lst3=lst[:9:3]
#获取从lst末尾开始,到0结束,布长为-1的列表
lst3=lst[::-1]
#获取从lst末尾开始,到下标8结束,布长为-1的列表
lst4=lst[:8:-1]
print("lst:",lst,id(lst))
print("lst1:",lst1,id(lst1))
print("lst2:",lst2,id(lst2))
print("lst3:",lst3,id(lst3))
print("lst4:",lst4,id(lst4))
打印结果
lst: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 140552325886336
lst1: [1, 2, 3, 4] 140552325886400
lst2: [1, 3, 5, 7, 9] 140552345700992
lst3: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 140552326204736
lst4: [10, 9] 140552325888896
通过打印结果发现,切片产生的是新的列表,不影响原来数据
列表增加
lst=[0,1,2,3,4,]
#append,追加一个元素
lst.append('a')
print("append后",lst)
lst2=[11,12,13]
#extend,从列表中逐个追加元素
lst.extend(lst2)
print("extend后",lst)
#insert 在制定位置插入元素
lst.insert(2,'b')
print("insert后",lst)
#对列表切片后从新赋值
lst[1::]=['aa','bb']
print("切片后",lst)
打印结果
append后 [0, 1, 2, 3, 4, 'a']
extend后 [0, 1, 2, 3, 4, 'a', 11, 12, 13]
insert后 [0, 1, 'b', 2, 3, 4, 'a', 11, 12, 13]
切片后 [0, 'aa', 'bb']
列表删除
lst=[0,1,2,3,4,5,6,7]
#移除指定角标元素
lst.pop(3)
#移除末尾元素
lst.pop()
#移除指定元素
lst.remove(4)
#切片删除元素,指定下标
lst[1:4]=[]
print("pop后",lst)
#清空列表
lst.clear()
#删除列表
del lst
列表生成式
lst=[i for i in range(0,5)]
print(lst)