python集合

集合(set)

1、什麼是集合

集合能夠理解成一個集合體,學習python的學生能夠當作一個集合體,學習linux的學生也能夠當作一個集合體。linux

  1. 用途:==去重,亂序==。用於關係運算的集合體,因爲集合體內的元素無序且集合元素不可重複,所以集合能夠去重,可是集合是無序的,去重以後會打亂原來元素的順序。學習

  2. 定義:{}內用逗號分隔開多個元素,每一個元素必須是不可變的類型。code

  3. 定義空集合blog

    s = {}  # 空大括號是字典,不是集合,定義空集合必須得用set()

二,內置方法

2.1優先掌握

  1. 長度lenrem

    s = {1,2,'a'}
    print(len(s))
    #輸出:
    3
  2. 成員運算in or not init

    s = {1,2,'a'}
    print(1 in s)
    print(2 not in s)
    #輸出:
    True
    False

  3. |並集 unionio

    s1 = {1,2,'a'}
    s2 = {1,2,3,4,'b'}
    print(s1|s2)
    print(s1.union(s2))
    #輸出:
    {1, 2, 3, 4, 'b', 'a'}
    {1, 2, 3, 4, 'b', 'a'}
  4. &交集 intersectionclass

    s1 = {1,2,'a'}
    s2 = {1,2,3,4,'b'}
    print(s1&s2)
    print(s1.intersection(s2))
    #輸出:
    {1, 2}
    {1, 2}
  5. -差集 differencedate

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1 - s2)
    print(s1.difference(s2))
    print(s2 - s1)
    print(s2.difference(s1))
    #輸出:
    {'a'}
    {'a'}
    {3, 4, 'b'}
    {3, 4, 'b'}
  6. ^對稱差集 symmetric_difference

    ##取出除共有的外
    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1^s2)
    print(s1.symmetric_difference(s2))
    #輸出:
    {'b', 3, 4, 'a'}
    {'b', 3, 4, 'a'}
  7. ==

    #比較
    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1 == s2)
    #輸出:
    False
  8. 父集: > >= issuperset

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 'a'}
    s3 = {1, 2}
    print(s1 >= s2)
    print(s1.issuperset(s2))
    print(s1 > s3)
    print(s1.issuperset(s3))
    print(s1 >= s3)
    print(s1.issuperset(s3))
    print(s3.issuperset(s1))
    #輸出:
    True
    True
    True
    True
    True
    True
    False
  9. 子集:< <= issubset

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 'a'}
    s3 = {1, 2}
    print(s1 <= s2)
    print(s1.issubset(s2))
    print(s3 < s1)
    print(s3.issubset(s1))
    print(s3 <= s1)
    print(s3.issubset(s1))
    #輸出:
    True
    True
    True
    True
    True
    True

2.2須要掌握

  1. add()添加

    s1 = {1, 2, 'a'}
    s1.add(5)
    print(s1)
    #輸出:
    {1, 2, 5, 'a'}
  2. remove()移除,沒有報錯

    s1 = {1, 2, 'a'}
    s1.remove(2)
    print(s1)
    #輸出:
    {1, 'a'}
  3. difference_update()

    # 取出和另一個集合不一樣的元素
    s1 = {1, 2, 'a'}
    s2={1,2,4,5,'b','c'}
    s2.difference_update(s1)
    print(s2)
    #輸出:
    {4, 5, 'c', 'b'}
  4. discard()刪除(拋棄),沒有不報錯

    s1 = {1, 2, 'a'}
    # s1.remove(3)# 報錯
    s1.discard(3)
    print(s1)
    #輸出:
    {1, 2, 'a'}
  5. isdisjoint

    # 集合沒有共同的部分返回True,不然返回False
    s1 = {1, 2, 'a'}
    s2 = {1,2,3,4,5,'b'}
    s3 = {6,7,8}
    
    
    print(s2.isdisjoint(s1))
    print(s2.isdisjoint(s3))
    #輸出:
    False
    True
  6. clear

  7. copy

  8. remove

  9. pop(隨機刪除)

  10. discard()拋棄

  11. 存在一個或者多個值:多個值,不可改變

  12. 有序或者無序:無序

  13. 可變或者不可變:可變數據類型

相關文章
相關標籤/搜索