Python 列表

列表

列表是一组可以修改的序列,可以存放任何数据类型。

>>> 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)
Python 教程 Python 入门 Python 时间 Python JSON