本文从网上获得,如有侵权,联系删除
列表与元组的区别:
可变性:列表是可变的,可以动态添加、删除或修改元素。 元组是不可变的,一旦创建,其内容无法更改。
性能与内存:元组的创建速度比列表快,且占用的内存更少。这是因为元组的不可变性使其优化了内存分配。
使用场景:列表适用于需要频繁修改的数据,例如动态数组或待办事项列表。 元组适用于固定不变的数据,例如坐标点、配置文件或函数返回值。
1. 列表
- 1.1 访问列表中的值
- 1.2 修改/删除/添加元素
- 1.3 列表中的常用操作
- 1.4 列表中的常用函数
python
# 1.1 访问列表中的值 索引从0开始
name = ['Tim','Kris','Sam']
# 1.1.1 访问列表中的第一个值
print('访问列表中的第一个值:',name[0])
>>> 访问列表中的第一个值: Tim
# 1.1.2 访问第二个以后所有值
print('访问列表中的第一个值:',name[1:])
>>> 访问列表中的第一个值: ['Kris', 'Sam']
# 1.1.3 访问所有值
print('访问所有值:',name)
>>> 访问所有值: ['Tim', 'Kris', 'Sam']
# 1.1.4 访问倒数第一个
print('访问倒数第一个:',name[-1])
>>> 访问倒数第一个: Sam
python
# 1.2 修改/删除/添加元素
# 1.2.1 修改元素
name[2] = 'sb'
print('修改第3个位置的元素后:',name[2])
>>> 修改第3个位置的元素后: sb
python
# 1.2.2 删除元素
# 删除任意位置的元素 del()函数
print('删除元素前:',name)
>>> 删除元素前: ['Tim', 'Kris', 'sb']
del name[1]
print('删除第2个元素后:',name)
>>> 删除第2个元素后: ['Tim', 'sb']
python
# 删除最后一个元素 pop()函数
print('删除元素前:',name)
>>> 删除元素前: ['Tim', 'sb']
name.pop()
print('删除最后一个元素后:',name)
>>> 删除最后一个元素后: ['Tim']
python
# 1.2.3 添加元素
# 在任意位置添加元素 insert()函数
print('添加元素前:',name)
>>> 添加元素前: ['Tim']
name.insert(1,'Kris')
print('在第1个位置添加元素后:',name)
>>> 在第1个位置添加元素后: ['Tim', 'Kris']
python
# 在最后一个位置添加元素 append()函数
print('添加元素前:',name)
>>> 添加元素前: ['Tim', 'Kris']
name.append('Sam')
print('添加在最后一个位置后:',name)
>>> 添加在最后一个位置后: ['Tim', 'Kris', 'Sam']
python
# 1.3 列表中的常用操作
list1 = [1,2,3]
list2 = [4,5,6]
list3 = [1]
# 列表的+操作
print("两个列表相加后:",list1+list2)
>>> 两个列表相加后: [1, 2, 3, 4, 5, 6]
python
# 列表的*操作
print('列表所有元素x3:',list3*3)
>>> 列表所有元素x3: [1, 1, 1]
python
# 列表的in, 判断元素是否在列表中
print('2是不是list1的元素:',2 in list1)
>>> 2是不是list1的元素: True
python
# for ... in 列表的遍历
for x in list1:
print(x)
>>> 1
>>> 2
>>> 3
python
# 1.4 列表中常用的函数
# 获得列表的长度 len()函数
print('输出函数长度:',len(list1))
>>> 输出函数长度: 3
# 获得列表中的最大值 max()函数
print('列表中的最大值:',max(list1))
>>> 列表中的最大值: 3
# 获得列表中的最小值 min()函数
print('列表中的最小值:',min(list1))
>>> 列表中的最小值: 1
python
# 永久排序方法 sort()
list4 = [2,3,1,5]
list4.sort()
print('排序后的list4:',list4)
>>> 排序后的list4: [1, 2, 3, 5]
python
# 暂时排序方法 sorted()
list5 = [3,5,2,6,1]
print('暂时排序的结果:',sorted(list5))
>>> 暂时排序的结果: [1, 2, 3, 5, 6]
print('排序后原列表:',list5)
>>> 排序后原列表: [3, 5, 2, 6, 1]
python
# reverse=True参数 逆序排序
print('暂时逆序排序的结果:',sorted(list5,reverse=True))
>>> 暂时逆序排序的结果: [6, 5, 3, 2, 1]
2. 元组
- 2.1 定义元组
- 2.2 访问/修改/删除元组
python
# 2.1 定义元组
t = (1,2)
print(t)
>>> (1, 2)
python
# 空元组
p = ()
print(p)
>>> ()
python
# 元组是不可修改的
t[0] = 2
>>> TypeError
>>> Traceback (most recent call last)
>>> <ipython-input-46-0c6697a06bab> in <module>
>>> ----> 1 t[0] = 2
>>> TypeError: 'tuple' object does not support item assignment
python
# 2.2 访问/修改/删除元组
# 访问
print('访问第一个元素:',t[0])
>>> 访问第一个元素: 1
# 修改是非法的 但是可以创建新的元组
t1 = (1,2,3)
t2 = (4,5)
print('拼接两个元组:',t1+t2)
>>> 拼接两个元组: (1, 2, 3, 4, 5)
python
# 删除
print('t2删除前:',t2)
>>> t2删除前: (4, 5)
del t2
# 删除后 就不存在了
print('t2删除后:',t2)
>>> NameError
>>> Traceback (most recent call last)
>>> <ipython-input-54-180cf0a61efb> in <module>
>>> ----> 1 print('t2删除后:',t2)
>>> NameError: name 't2' is not defined