目录
列表和元组基础
python 中最常见的两种数据结构:列表(list)和元组(tuple)。
列表和元组都可以放置任意数据类型的有序组合;
python
l = [1, 2, 'hello', 'world'] # 列表中同时含有int和string类型的元素
print(l)
tup = ('jason', 22) # 元组中同时含有int和string类型的元素
print(tup)
结果如下:
powershell
[1, 2, 'hello', 'world']
('jason', 22)
区别在于:列表是动态的,长度大小不固定,可以随时添加、删除或改变元素(mutable);元组是静态的,长度大小固定,无法增加删减或者改变。
python
l = [1, 2, 3, 4]
l[3] = 40 # 和很多语言类似,python中索引同样从0开始,l[3]表示访问列表的第四个元素
l
[1, 2, 3, 40]
tup = (1, 2, 3, 4)
tup[3] = 40
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
如果你想对已有的元组做任何该表,只能重新开辟一块内存,重建新的元组了。
python
tup = (1, 2, 3, 4)
new_tup = tup + (5, ) # 创建新的元组new_tup,并依次填充原元组的值
new _tup
(1, 2, 3, 4, 5)
l = [1, 2, 3, 4]
l.append(5) # 添加元素5到原列表的末尾
l
[1, 2, 3, 4, 5]
python中的列表和元组都支持负数索引,-1表示最后一个元素,-2表示倒数第二个元素,以此类推。
python
l = [1, 2, 3, 4]
l[-1]
4
tup = (1, 2, 3, 4)
tup[-1]
4
列表和元组都支持切片操作。
python
l = [1, 2, 3, 4]
l[1:3] # 返回列表中索引从1到2的子列表
[2, 3]
tup = (1, 2, 3, 4)
tup[1:3] # 返回元组中索引从1到2的子元组
(2, 3)