📜  python中的set方法(1)

📅  最后修改于: 2023-12-03 15:34:25.734000             🧑  作者: Mango

Python中的set方法

在Python中,Set是一种无序且不重复的集合数据类型。集合中的元素必须是可哈希的,因此只能包含不可变类型的对象,例如字符串、数字和元组。Set中的元素是唯一的,因此重复元素会被自动去除。

Python提供了多种方法来操作Set,包括添加元素、删除元素、查找元素和集合运算等。下面详细介绍Set的常用方法和操作。

创建一个Set

可以通过set()函数或{}符号来创建Set。set()函数返回一个空集,而{}符号创建一个空字典。要创建含有元素的Set,在{}符号中添加逗号分隔的元素即可。

# 创建一个空的Set
empty_set = set()
print(empty_set)   # set()

# 创建含有元素的Set
fruits = {'apple', 'banana', 'orange'}
print(fruits)      # {'banana', 'orange', 'apple'}
向Set中添加元素

可以使用add()方法或update()方法向Set中添加元素。add()方法只能添加一个元素,而update()方法可以添加多个元素,参数可以是列表、元组或其他Set。

# 向Set中添加元素
fruits.add('grape')
print(fruits)      # {'orange', 'banana', 'grape', 'apple'}

fruits.update(['pear', 'watermelon'])
print(fruits)      # {'pear', 'grape', 'watermelon', 'banana', 'apple', 'orange'}
从Set中删除元素

可以使用remove()方法或discard()方法从Set中删除元素。remove()方法只能删除存在的元素,否则会引发KeyError异常;而discard()方法即使元素不存在也不会报错。

# 从Set中删除元素
fruits.remove('apple')
print(fruits)      # {'banana', 'watermelon', 'orange', 'pear', 'grape'}

fruits.discard('melon')
print(fruits)      # {'banana', 'watermelon', 'orange', 'pear', 'grape'}

fruits.discard('banana')
print(fruits)      # {'watermelon', 'orange', 'pear', 'grape'}
查找Set中的元素

可以使用in运算符来判断Set中是否包含某个元素。如果包含,返回True;否则返回False。

# 查找Set中的元素
print('orange' in fruits)   # True
print('melon' in fruits)    # False
集合运算

Set支持各种集合运算,包括并集、交集、差集和对称差集。可以使用union()方法、intersection()方法、difference()方法和symmetric_difference()方法来进行集合运算。

# 集合运算
fruits1 = {'apple', 'banana', 'orange'}
fruits2 = {'banana', 'orange', 'pear', 'peach'}

# 并集
print(fruits1.union(fruits2))  # {'purple', 'pear', 'grape', 'apple', 'watermelon', 'peach', 'banana', 'orange'}

# 交集
print(fruits1.intersection(fruits2))  # {'orange', 'banana'}

# 差集
print(fruits1.difference(fruits2))   # {'apple'}

# 对称差集
print(fruits1.symmetric_difference(fruits2))  # {'gra pe', 'watermelon', 'peach', 'pear', 'apple'}
总结

Set是一种非常有用的数据类型,常用于去重、元素查找和集合运算等场景。Python提供了多种方法来操作Set,包括添加元素、删除元素、查找元素和集合运算等。程序员可以根据实际需求来选择适合的方法,提高代码的效率和可复用性。