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

Python集合函数大全

发布时间:2023-06-26 04:10:28

Python中的集合是一种无序的、不可重复的数据结构。集合中的元素是不可变的,可以包含数字、字符串、元组等数据类型。Python中提供了丰富的集合函数,下面是这些函数的详细介绍。

1. set()

用于创建一个空集合或者从其他数据类型中创建一个集合。示例:

set1 = set()    # 创建一个空集合

set2 = set([1, 2, 3])   # 从列表中创建集合

2. add()

用于向集合中添加元素。如果元素已存在,则不进行任何操作。示例:

set1 = set(['a', 'b'])

set1.add('c')    # 添加元素'c'

set1.add('b')    # 元素'b'已存在,不进行操作

3. update()

用于向集合中添加多个元素。示例:

set1 = set(['a', 'b'])

set1.update(['c', 'd'])    # 添加元素'c'和'd'

4. remove()

用于删除集合中的某个元素。如果元素不存在,则会抛出一个KeyError异常。示例:

set1 = set(['a', 'b', 'c'])

set1.remove('c')    # 删除元素'c'

set1.remove('d')    # 抛出一个KeyError异常,因为元素'd'不存在

5. pop()

用于随机删除集合中的某个元素,并返回该元素。如果集合为空,则会抛出一个KeyError异常。示例:

set1 = set(['a', 'b', 'c'])

set1.pop()    # 随机删除一个元素并返回

6. clear()

用于清空集合中的所有元素。示例:

set1 = set(['a', 'b', 'c'])

set1.clear()    # 清空集合中的所有元素

7. discard()

与remove()函数类似,用于删除集合中的某个元素。与remove()函数不同的是,如果元素不存在,则不会抛出异常。示例:

set1 = set(['a', 'b', 'c'])

set1.discard('c')    # 删除元素'c'

set1.discard('d')    # 元素'd'不存在,不进行任何操作

8. difference()

用于返回集合与给定集合的差集。示例:

set1 = set([1, 2, 3, 4])

set2 = set([3, 4, 5, 6])

set3 = set1.difference(set2)   # 返回set1与set2的差集

9. difference_update()

用于从集合中删除在另一个集合中存在的元素。该函数直接修改了原集合。示例:

set1 = set([1, 2, 3, 4])

set2 = set([3, 4, 5, 6])

set1.difference_update(set2)   # 删除set1中与set2中相同的元素

10. intersection()

用于返回集合与给定集合的交集。示例:

set1 = set([1, 2, 3, 4])

set2 = set([3, 4, 5, 6])

set3 = set1.intersection(set2)   # 返回set1与set2的交集

11. intersection_update()

用于从集合中仅保留在另一个集合中存在的元素。该函数直接修改了原集合。示例:

set1 = set([1, 2, 3, 4])

set2 = set([3, 4, 5, 6])

set1.intersection_update(set2)   # 仅保留set1与set2中相同的元素

12. isdisjoint()

用于判断两个集合是否没有共同的元素。如果两个集合没有共同的元素,则返回True,否则返回False。示例:

set1 = set([1, 2, 3, 4])

set2 = set([5, 6, 7, 8])

set3 = set([2, 5, 6])

set1.isdisjoint(set2)   # 返回True,因为set1与set2没有共同的元素

set1.isdisjoint(set3)   # 返回False,因为set1与set3有共同的元素

13. issubset()

用于判断一个集合是否是另一个集合的子集。如果是,则返回True,否则返回False。示例:

set1 = set([1, 2, 3])

set2 = set([1, 2, 3, 4])

set3 = set([3, 4, 5])

set1.issubset(set2)   # 返回True,因为set1是set2的子集

set1.issubset(set3)   # 返回False,因为set1不是set3的子集

14. issuperset()

用于判断一个集合是否是另一个集合的超集。如果是,则返回True,否则返回False。示例:

set1 = set([1, 2, 3])

set2 = set([1, 2])

set3 = set([3, 4])

set1.issuperset(set2)   # 返回True,因为set1是set2的超集

set1.issuperset(set3)   # 返回False,因为set1不是set3的超集

15. symmetric_difference()

用于返回两个集合的对称差。对称差即只包含在两个集合中出现一次的元素,不包含在两个集合中都出现或都不出现的元素。示例:

set1 = set([1, 2, 3])

set2 = set([3, 4, 5])

set3 = set1.symmetric_difference(set2)   # 返回两个集合的对称差

16. symmetric_difference_update()

用于将集合更新为两个集合的对称差。该函数直接修改了原集合。示例:

set1 = set([1, 2, 3])

set2 = set([3, 4, 5])

set1.symmetric_difference_update(set2)   # 将set1更新为两个集合的对称差

17. union()

用于返回两个集合的并集。示例:

set1 = set([1, 2, 3])

set2 = set([3, 4, 5])

set3 = set1.union(set2)   # 返回两个集合的并集

18. copy()

用于复制一个集合。示例:

set1 = set([1, 2, 3])

set2 = set1.copy()   # 复制一个集合

本文介绍了Python中常用的集合函数,包括创建、添加、删除、集合运算等函数,能够有效地帮助开发者提高代码编写效率和准确性。