详解Python中List、Set和Tuple的区别

  • Post category:Python

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是有序的不可变集合。在使用时需要根据需求进行选择。