欢迎访问宙启技术站
智能推送

Python中的set()函数:用法和示例!

发布时间:2023-05-31 08:37:47

set()函数是Python内置的一种数据类型,它代表了一个无序、可变的集合。set()函数可以用来创建一个空集合,或将一个可迭代的对象转换为集合。

set()函数的用法

1. 创建一个空集合

如果需要创建一个空集合,则可以使用下面的代码:

empty_set = set()

2. 从列表、元组、字符串等可迭代对象创建集合

通过调用set()函数并将一个可迭代的对象作为参数,可以将其转换为集合。

my_list = [1, 2, 3, 4, 5]
my_set = set(my_list)
print(my_set)              # 输出:{1, 2, 3, 4, 5}

my_tuple = (6, 7, 8, 9, 10)
my_set = set(my_tuple)
print(my_set)              # 输出:{6, 7, 8, 9, 10}

my_string = 'hello'
my_set = set(my_string)
print(my_set)              # 输出:{'h', 'o', 'l', 'e'}

3. 添加元素

使用add()方法可以向集合中添加新元素。如果集合中已经包含了该元素,则不会发生任何变化。

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

my_set.add(3)
print(my_set)              # 输出:{1, 2, 3, 4}

4. 删除元素

可以使用remove()方法从集合中删除元素。如果要删除的元素不在集合中,则会引发KeyError异常。

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

my_set.remove(4)           # 会引发KeyError异常

5. 集合运算

集合可以进行交、并、差、异或等运算,对应的方法分别为intersection()、union()、difference()和symmetric_difference()。

set1 = {1, 2, 3}
set2 = {2, 3, 4}

# 交集
intersection = set1.intersection(set2)
print(intersection)        # 输出:{2, 3}

# 并集
union = set1.union(set2)
print(union)               # 输出:{1, 2, 3, 4}

# 差集
difference = set1.difference(set2)
print(difference)          # 输出:{1}

# 对称差集
symmetric_difference = set1.symmetric_difference(set2)
print(symmetric_difference) # 输出:{1, 4}

6. 子集和超集

可以使用issubset()和issuperset()方法来检查一个集合是否为另一个集合的子集或超集。

set1 = {1, 2, 3}
set2 = {2, 3}

print(set2.issubset(set1))        # 输出:True
print(set1.issuperset(set2))      # 输出:True

set()函数的示例

我们来看一个具体的例子,假设有两个列表A和B,我们想要找出它们的差集。

A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]

# 使用set()函数将列表转换为集合,并求差集
diff = set(A).difference(set(B))

print(diff)          # 输出:{1, 2, 3}

以上示例代码中,首先使用set()函数将列表A和B转换为集合,然后使用difference()方法求出它们的差集。最后将结果打印输出。