列表通过索引读取数据:
#索引读取数据
a = [1,2,3]
a[-1]
运行结果:3
列表支持嵌套:
b = [[1,2,3],[4,5,6]]
print(b)
运行结果:[[1, 2, 3], [4, 5, 6]]
列表可以修改:
b = [[1,2,3],[4,5,6]]
b[1][2]=4
print(b)
运行结果:[[1, 2, 3], [4, 5, 4]]
列表的切片:
a = [1,2,3,4,5,6,7]
#正向索引,取前4个元素,步长为1
print(a[0:4:1])
运行结果:[1, 2, 3, 4]
#反向索引
print(a[-1:-4:-1])
运行结果:[7,6,5]
#若取2,4,6,则步长为2
a[1::2]
运行结果:[2,4,6]
列表的添加操作:
#1.加号
a = [1,2,3]
b = [4,5,6]
print(a+b)
print(id(a))
运行结果:[1, 2, 3, 4, 5, 6]
87703240
#2.extend:接受参数b并将参数b的全部元素添加到原有列表中,原地修改列表而不新建列表
a.extend(b)
print(a)
print(id(a))
运行结果:[1, 2, 3, 4, 5, 6]
87703240
#3.append:添加任意对象到列表的末端
a = [1,2,3]
a.append(4)
print(a)
运行结果:[1,2,3,4]
a.append([5,6,7])
print(a)
运行结果:[1,2,3,4,[5,6,7]]
#4.insert:插入任意对象到列表中,可以控制插入位置
a = [1,2,3]
a.insert(1,'ab')
print(a)
运行结果:[1, 'ab', 2, 3]
列表的删除操作:
#1.del:通过索应删除指定位置的元素
a = [1,2,3]
del a[0]
print(a)
运行结果:[2,3]
a = [1,2,3]
b = a
del a[:] #删除对象,并没删除地址
print(id(a))
b
运行结果:94939912
[]
a = [1,2,3]
b = a
del a #删除地址,并没有删除对象
b
运行结果:[1, 2, 3]
print(id(a))
运行结果:NameError: name 'a' is not defined
#2.remove:移除列表中找到的第一个值,如果没找到,会报错
a = [1,2,3,2]
a.remove(2)
print(a)
运行结果:[1,3,2]
#3.pop:返回最后一个元素,并从list中删除它
a = [1,2,3]
b = a.pop()
print(b)
print(a)
运行结果:3
[1,2]
列表的成员关系:
#in not in可以判断一个元素是否在列表里
a = [1,2,3]
print(1 in a)
运行结果:True
print(2 not in a)
运行结果:False
print(3 in a)
运行结果:True
列表推导式:
a = [i*i for i in range(1,6)]
print(a)
运行结果:[1, 4, 9, 16, 25]
#加入判断语句
b = [i for i in range(1,6) if i%2==1]
print(b)
运行结果:[1, 3, 5]
#生成字符串
['the %s' % i for i in range(6)]
运行结果:['the 0', 'the 1', 'the 2', 'the 3', 'the 4', 'the 5']
#生成元组
[(x,y) for x in range(2) for y in range(2)]
运行结果:[(0, 0), (0, 1), (1, 0), (1, 1)]
#生成字典
dict([(x,y) for x in range(2) for y in range(2)])
运行结果:{0: 1, 1: 1}
#其实是先生成了0:0,再生成0:1,后面的键0将前面的键0覆盖了
列表的排序翻转:
#列表的排序和翻转:是直接修改原列表,返回值为none
a = [1,2,4,3]
b = a.sort()#从小到大
print(a)
print(b)
运行结果:[1, 2, 3, 4]
None
c = a.reverse()#原地翻转
print(a)
运行结果:[4, 3, 2, 1]
内置list方法:
a = 'abc'
list(a)
运行结果:['a', 'b', 'c']
b = (1,2,3,4)
list(b)
运行结果:[1, 2, 3, 4]