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'}    去重之后的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM