Python列表与元组的异同详解
异同点说明
Python中,列表(List)和元组(Tuple)都是用来存储一系列有序数据的容器,二者区别如下:
- 列表是可变的,而元组是不可变的;
- 元组使用小括号“()”来定义,而列表使用方括号“[]”来定义;
- 元组中只包含一个元素时需要在元素后面加“,”以避免被当做单个元素的类型。
简而言之,列表和元组都是用来存储一组数据,唯一的不同之处是元组是不可变的。
列表与元组的操作
创建列表和元组
# 创建列表
list1 = [1, 2, 3, 4, 5]
# 创建元组
tuple1 = (1, 2, 3, 4, 5)
访问列表和元组中的元素
# 访问列表中的元素
print(list1[0]) #输出1
# 访问元组中的元素
print(tuple1[0]) #输出1
修改列表中的元素
# 修改列表中的元素
list1[0] = 0
print(list1) #输出[0, 2, 3, 4, 5]
元组中的元素不可修改
# 修改元组中的元素
tuple1[0] = 0
# 产生TypeError错误,元组的元素不可修改
获取列表和元组的长度
# 获取列表的长度
print(len(list1)) #输出5
# 获取元组的长度
print(len(tuple1)) #输出5
判断元素是否存在于列表与元组中
# 判断列表是否包含指定元素
print(2 in list1) #输出True
# 判断元组是否包含指定元素
print(2 in tuple1) #输出True
列表和元组的拼接
# 列表与列表的拼接
list2 = [6, 7, 8]
print(list1 + list2) #输出[0, 2, 3, 4, 5, 6, 7, 8]
# 元组与元组的拼接
tuple2 = (6, 7, 8)
print(tuple1 + tuple2) #输出(1, 2, 3, 4, 5, 6, 7, 8)
列表与元组的重复
# 列表的重复
print(list1 * 2) #输出[0, 2, 3, 4, 5, 0, 2, 3, 4, 5]
# 元组的重复
print(tuple1 * 2) #输出(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
列表元素的删除
# 删除列表中指定的元素
list1.remove(0)
print(list1) #输出[2, 3, 4, 5]
# 删除列表中指定位置的元素
del list1[0]
print(list1) #输出[3, 4, 5]
# 删除整个列表
del list1
元组的使用场景
元组更适合表示不可变的事物,例如星期、月份、坐标等:
weekdays = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
coordinates = (37.7749, -122.4194)
示例说明
列表的排序与反转
# 列表的排序
list3 = [4, 3, 1, 5, 2]
list3.sort()
print(list3) #输出[1, 2, 3, 4, 5]
# 列表的反转
list4 = [1, 2, 3, 4, 5]
list4.reverse()
print(list4) #输出[5, 4, 3, 2, 1]
元组的多重赋值
# 多重赋值
tuple3 = (1, 2, 3)
a, b, c = tuple3
print(a, b, c) #输出1, 2, 3
总结
Python中,列表和元组都是非常常用的数据容器,具有不同的特性和适用场景。列表可以修改元素,更适合一些需要动态修改的场景,而元组更适合表示不可变的事物。在日常的代码开发中,充分使用列表和元组的特性,可以大大提高代码的效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python列表与元组的异同详解 - Python技术站