Python中的List、Set和Tuple是三种不同的集合类型,下面将详细讲解它们的区别。
List
List是一种有序的可变集合,其元素可以是不同类型的数据。可以在List中添加、删除、更改元素等操作。
创建List
用方括号[ ]来创建一个List,列表中的元素用逗号分隔开。
list_a = [1, 'string', True, [1, 2, 3]]
List的常用操作
# 添加元素
list_a.append(4)
# 删除元素
list_a.pop(2)
# 更改元素
list_a[1] = 'turing'
# 打印List
print(list_a)
Set
Set是一种无序且不重复的集合,其中元素必须是可hash的类型。因为Set是无序的,所以Set不能通过索引来访问元素。可以用Set求并集、交集、差集等操作。
创建Set
用花括号{ }或者set()函数来创建一个Set,集合中的元素用逗号分隔开。注意:如果要创建空集合,必须要用set()函数。
set_a = {1, 2, 3, 3, 4}
set_b = set([3, 4, 5])
Set的常用操作
# 添加元素
set_a.add(5)
# 删除元素
set_a.remove(1)
# 求并集
set_c = set_a.union(set_b)
# 求交集
set_c = set_a.intersection(set_b)
# 求差集
set_c = set_a.difference(set_b)
# 打印Set
print(set_a)
Tuple
Tuple是一种有序的不可变集合,其元素可以是不同类型的数据。Tuple中的元素不可以被删除、删除或修改,因此Tuple比List更加轻量级,也更加安全。
创建Tuple
用括号( )来创建一个Tuple,元素之间用逗号分隔开。
tuple_a = (1, 'turing', [1, 2, 3])
Tuple的常用操作
因为Tuple不可变,所以常用的操作只有访问元素。
# 访问Tuple中的元素
print(tuple_a[1])
示例说明
list_a = [1, 'string', True, [1, 2, 3]]
set_a = {1, 2, 3, 3, 4}
tuple_a = (1, 'turing', [1, 2, 3])
对于以上三个集合,假设我要将它们的所有元素打印出来。
# 打印list_a中的所有元素
for element in list_a:
print(element)
# 打印set_a中的所有元素
for element in set_a:
print(element)
# 打印tuple_a中的所有元素
for element in tuple_a:
print(element)
输出结果如下:
1
string
True
[1, 2, 3]
1
2
3
4
1
turing
[1, 2, 3]
从结果可以看出,List、Set和Tuple的不同之处在于它们的创建方法和特性。List是有序的可变集合,Set是无序且不重复的可变集合,而Tuple是有序的不可变集合。在使用时需要根据需求进行选择。