python——集合内置函数

集合内置方法

  集合的元素不能是列表、字典等可修改的元素;可以是数字、字符串、元组等可哈希的;集合是无序的。我们常用的都是可变集合。其实还有一种不可变集合(frozenset),只是我们很少用到。下面都说的是可变集合。

1. add(...)

Add an element to a set.
添加一个元素到集合中。假如集合中已经有了该元素,则看不出效果;因为集合是去重的;
例如:
    set1={1,2,3,4,5}
    set1.add(3)
    print(set1)         # 输出set1,为 {1,2,3,4,5}

2. clear(...)

Remove all elements from this set.
清空集合的所有元素;
例如:
    set1={1,2,3,4,5}
    set1.clear()
    print(set1)         # 输出set(), 表示集合set1被清空

3. copy(...)

Return a shallow copy of a set.
复制一个集合;

4. difference(...)

Return the difference of two or more sets as a new set.
求两个集合的差集;返回一个集合,集合中的元素为当前集合 减去 指定集合;数学表达式为 -,如 a-b
例如:
    set1={1,2,3,4,5,('wjz','wjk')}
    set2={1,2,7,'wjk',('wjk','wjz')}
    print(set1.difference(set2))      # 返回 {3, 4, 5, ('wjz', 'wjk')}    说明,集合中的元组有顺序区分;

5. difference_update(...)

Remove all elements of another set from this set.
difference方法是取差,但是不改变两个集合;difference_update方法是将差集合赋给原来的集合。
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk')}
    set2={1,2,7,'wjk',('wjk','wjz')}
    set1.difference_update(set2)
    print(set1)                      # 输出  {3, 4, 5, ('wjz', 'wjk')}    set2不变

6. discard(...)

Remove an element from a set if it is a member. If the element is not a member, do nothing.
假如集合中有指定的元素,则从集合中移除该元素;如果没有,则不进行任何操作;
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set1.discard('www')
    print(set1)                     # 输出 {1,2,3,4,5,('wjz','wjk')}

7. intersection(...)

Return the intersection of two sets as a new set.
求两个集合的交集;返回一个集合,该集合是两个集合的交集;数学表达式为 &,如 a & b
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk')}
    set2={1,2,7,'wjk',('wjk','wjz')}
    print(set1.intersection(set2))            #输出 {'wjk', 1, 2} 

8. intersection_update(...)

intersection方法是求两个集合的交集,但是不改变原来的两个集合;intersection_update方法是把交集赋给前面原来的集合;
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk')}
    set2={1,2,7,'wjk',('wjk','wjz')}
    set1.intersection_update(set2)
    print(set1)                             # set2不变;输出 {'wjk', 1, 2}    

9. isdisjoint(...)

Return True if two sets have a null intersection.
如果两个集合交集为空,则返回True;否则返回False
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk')}
    set2={1,2,7,'wjk',('wjk','wjz')}
    set3={8,9}
    print(set1.isdisjoint(set2))          # 返回 False
    print(set1.isdisjoint(set3))          # 返回 True

10. issubset(...)

Report whether another set contains this set.
判断该集合是否为指定集合的子集;是则返回True,否则返回False;
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk'),}
    set2={1,2}
    print(set2.issubset(set1))          # 返回 True

11. issuperset(...)

Report whether this set contains another set.
判断该集合是否为指定集合的父集;是则返回True,否则返回False;
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk'),}
    set2={1,2}
    print(set1.issuperset(set2))          # 返回 True

12. pop(...)

Remove and return an arbitrary set element. Raises KeyError if the set is empty.
从集合中删除一个元素,并返回该元素;不能指定参数,随机删除(因为集合是无序的); 假如指定了参数 或者 集合为空,则报异常;
例如:
    set1={1,2,3,4,5,'wjk',('wjz','wjk')}
    print(set1.pop())                   # 返回 一个元素;我这里是返回的2   此时set1变为 {1, 3, 4, 5, ('wjz', 'wjk'), 'wjk'}  

13. remove(...)

Remove an element from a set; it must be a member.
从集合中删除指定元素;假如集合中没有这个元素,则报异常;
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set1.remove('www')
    print(set1)               # 输出  {1, 2, 3, 4, 5, ('wjz', 'wjk')}

14. symmetric_difference(...)

返回一个集合,该集合为 两个集合互为差集的合集;数学表达式是 ^ 。如 a^b
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set2={1,2,7,'www',('wjk','wjz')}
    print(set1.symmetric_difference(set2))      # 输出 {3, 4, 5, ('wjz', 'wjk'), 7, ('wjk', 'wjz')} ; 即 (set1 - set2)+(set2 - set1)

15. symmetricdifferenceupdate(...)

返回一个集合,该集合为 两个集合互为差集的合集;并把该集合赋给前面的那个集合;
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set2={1,2,7,'www',('wjk','wjz')}
    set1.symmetric_difference_update(set2)
    print(set1)                          # 输出 {3, 4, 5, 7, ('wjz', 'wjk'), ('wjk', 'wjz')}    set2集合不变;

16. union(...)

求两个集合的并集;返回一个集合,该集合是两个集合的并集;数学表达式为 |,如 a|b
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set2={1,2,7,'www',('wjk','wjz')}
    print(set1.union(set2))             # 输出  {1, 2, 3, 4, 5, 7, ('wjk', 'wjz'), ('wjz', 'wjk'), 'www'}

17. update(...)

求两个集合的并集,返回一个集合,该集合是两个集合的并集;并把该集合赋给前面的集合;
其实第二个可以是集合、字符串、列表、元组、字典等等
例如:
    set1={1,2,3,4,5,'www',('wjz','wjk')}
    set2={1,2,7,'www',('wjk','wjz')}
    set1.update(set2)
    print(set1)                       # 输出 {1, 2, 3, 4, 5, 'www', 7, ('wjz', 'wjk'), ('wjk', 'wjz')}   set2不变

    set3={1,'www',5}
    print(set3.update('bashrunning'))  # 输出 {1,'www',5,'b','a','s','h','r','u','n',,'i','g'}    去重之后的。
如需转载,请注明出处,否则本人会追究法律责任!
原文地址:https://www.cnblogs.com/hacker001/p/10081927.html