列表是一组可以修改的序列
,可以存放任何
数据类型。
>>> type([])
# <class 'list'> 列表用 [] 表示
# 定义列表
>>> l = [1,'a',{},[],True]
>>> print(l)
[1,'a',{},[],True]
由于列表是序列
的性质,所以支持切片。
>>> [1,2,3][0]
1
>>> [1,2,3][-1]
3
>>> [1,2,3][0:2]
[1,2]
>>> [1,[1,2,3]][1][1]
2
比较常用的一些。
# 长度
>>> len([1,2,3])
3
# 连接
>>> ''.join(['a','b','c']) # (当你需要把列表变成字符串的时候)
abc
# 末尾插入
>>> l = [1,2]
>>> l.append(3)
>>> l
[1,2,3]
# 插入指定位置
>>> l = [1,2,3]
>>> l.insert(2, 'a')
>>> l
[1, 2, 'a', 3]
# 获取并删除
>>> l = [1,2,3]
>>> ll = l.pop(0) # 不指定位置默认弹出最后一位
>>> l
[2,3]
>>> ll
1
# 位置
>>> [1,2,3].index(1)
0
# 数字排序
>>> l = [1,3,2]
>>> l.sort()
>>> l
[1,2,3]
# 合并
>>> l = [1,2]
>>> l.extend([3])
>>> l
[1,2,3]
跟字符串不同的是,我们针对列表的绝大部分操作,都是直接修改列表的值
,而不是返回一个新值。
id()
用于查找内存空间的地址。
# 变量赋值只是空间地址的引用
>>> l= [1,2,3]
>>> ll = l
>>> id(l)
4429844232
>>> id(ll)
4429844232
# 修改ll 等于 修改l
>>> ll[0] = 'hello'
>>> l
['hello', 2, 3]
# 拷贝 | copy 是标准库模块,需要导入,关于标准库,请看后面相关章节
# 通过拷贝,l 和 ll 就是两块独立的空间,互不影响
ll = copy(l)