Python中的集合(Set)是一种无序的数据类型,用于存储唯一元素的集合。集合使用大括号{}表示,元素之间用逗号隔开。
本篇教程将介绍Python中集合的基本用法,包括创建集合、访问集合、集合的操作和方法等内容。
创建集合
创建集合的方式有多种:
- 直接使用大括号{}创建空集合:
set1 = set()
注意:如果只用{}创建集合,则会创建一个空字典而不是集合,因为在Python中{}既可以表示字典也可以表示集合。
- 使用{elem1, elem2, ...}的形式创建集合:
set2 = {'apple', 'banana', 'orange'}
- 使用set()函数创建集合,参数为可迭代对象:
set3 = set([1, 2, 3, 4, 5])
访问集合
集合中的元素是无序的,因此不能使用下标来访问集合中的元素。可以使用in和not in关键字来判断一个元素是否在集合中:
set1 = {'apple', 'banana', 'orange'}
print('apple' in set1) # True
print('pear' not in set1) # True
集合的操作和方法
集合是可变的,可以进行一些操作,如增加、删除元素等。
- 增加元素
可以使用.add()方法向集合中添加一个元素:
set1 = {'apple', 'banana', 'orange'}
set1.add('pear')
print(set1) # {'apple', 'banana', 'orange', 'pear'}
- 删除元素
可以使用.remove()方法删除集合中的一个元素:
set1 = {'apple', 'banana', 'orange'}
set1.remove('banana')
print(set1) # {'apple', 'orange'}
如果要删除的元素不存在于集合中,则会抛出KeyError异常。可以使用.discard()方法来删除集合中的元素,如果元素不存在于集合中则不会抛出异常:
set1 = {'apple', 'banana', 'orange'}
set1.discard('pear')
print(set1) # {'apple', 'banana', 'orange'}
- 合并集合
可以使用.union()方法或|运算符将两个集合合并:
set1 = {'apple', 'banana', 'orange'}
set2 = {'pear', 'banana', 'kiwi'}
set3 = set1.union(set2)
print(set3) # {'apple', 'banana', 'kiwi', 'orange', 'pear'}
或者使用.update()方法将另一个集合的元素加入到当前集合中:
set1 = {'apple', 'banana', 'orange'}
set2 = {'pear', 'banana', 'kiwi'}
set1.update(set2)
print(set1) # {'apple', 'banana', 'kiwi', 'orange', 'pear'}
- 交集
可以使用.intersection()方法或&运算符来获取两个集合的交集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'pear', 'banana', 'kiwi'}
set3 = set1.intersection(set2)
print(set3) # {'banana'}
- 差集
可以使用.difference()方法或-运算符来获取两个集合的差集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'pear', 'banana', 'kiwi'}
set3 = set1.difference(set2)
print(set3) # {'apple', 'orange'}
- 对称差集
可以使用.symmetric_difference()方法或^运算符来获取两个集合的对称差集,即两个集合中不重复的元素的集合:
set1 = {'apple', 'banana', 'orange'}
set2 = {'pear', 'banana', 'kiwi'}
set3 = set1.symmetric_difference(set2)
print(set3) # {'apple', 'kiwi', 'orange', 'pear'}
- 判断是否为子集或超集
可以使用.issubset()方法来判断一个集合是否是另一个集合的子集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'orange'}
print(set2.issubset(set1)) # True
可以使用.issuperset()方法来判断一个集合是否是另一个集合的超集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'orange'}
print(set1.issuperset(set2)) # True
总结
通过本篇教程,我们了解了Python中集合的基本用法,包括创建集合、访问集合、集合的操作和方法等内容。集合具有去重和快速判断元素是否存在于集合中的特性,因此在实际编程中也经常被使用。希望本篇教程可以帮助你更好地理解和使用Python中的集合。