python

set类型在Python中的基本操作有哪些

小樊
82
2024-09-06 13:00:34
栏目: 编程语言

在Python中,set是一个无序的不重复元素序列。它支持一些基本的操作,如添加、删除元素以及集合之间的数学运算(如并集、交集等)。以下是一些常见的set类型操作:

  1. 创建集合

使用set()构造函数或大括号{}可以创建一个空集合。也可以通过将一个可迭代对象(如列表、元组等)传递给set()构造函数来创建一个包含特定元素的集合。

# 创建空集合
s = set()
# 或者
s = {}

# 从列表创建集合
lst = [1, 2, 3, 4, 5]
s = set(lst)
  1. 添加元素

使用add()方法可以向集合中添加一个元素。如果元素已经存在于集合中,则不会进行任何操作。

s = {1, 2, 3}
s.add(4)
print(s)  # 输出: {1, 2, 3, 4}
  1. 删除元素

使用remove()方法可以从集合中删除一个元素。如果元素不存在于集合中,则会引发一个KeyError

s = {1, 2, 3, 4}
s.remove(3)
print(s)  # 输出: {1, 2, 4}

此外,还可以使用discard()方法删除一个元素,但如果元素不存在于集合中,则不会进行任何操作。

s = {1, 2, 4}
s.discard(3)  # 不会引发错误,但不会有任何效果
print(s)  # 输出: {1, 2, 4}
  1. 集合运算

Python中的集合支持多种数学运算,如并集、交集、差集和对称差集等。

* 并集:`union()`或`|`操作符
* 交集:`intersection()`或`&`操作符
* 差集:`difference()`或`-`操作符
* 对称差集:`symmetric_difference()`或`^`操作符
s1 = {1, 2, 3}
s2 = {2, 3, 4}

# 并集
s_union = s1.union(s2)
# 或者
s_union = s1 | s2
print(s_union)  # 输出: {1, 2, 3, 4}

# 交集
s_intersect = s1.intersection(s2)
# 或者
s_intersect = s1 & s2
print(s_intersect)  # 输出: {2, 3}

# 差集
s_diff = s1.difference(s2)
# 或者
s_diff = s1 - s2
print(s_diff)  # 输出: {1}

# 对称差集
s_sym_diff = s1.symmetric_difference(s2)
# 或者
s_sym_diff = s1 ^ s2
print(s_sym_diff)  # 输出: {1, 4}

这些是Python中set类型的一些基本操作。请注意,集合是无序的,因此它们的元素没有特定的顺序。

0
看了该问题的人还看了