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()方法求出它们的差集。最后将结果打印输出。
