• python基础之集合set


    集合:set 可变数据类型,包含的数据必须是不可变数据类型、无序、不重复,表示:{}

    不可变数据类型:tuple、bool、int、str --可哈希类型
    可变数据类型:list、dict、set --不可哈希类型

    增:set.add(obj) set.update(obj)
    删:set.pop() set.remove(obj) set.clear() del set
    查:for i in set:
    集合间交换数据:交集:set1&set2 set1.intersection(set2) 并集:set1|set2 set1.union(set2)
    反交集: set1^set2 set1.symmeterc_difference(set2) 差集:set1-set2 set1.difference(set2)
    子集:set1<set2 set1.issubset(set2) 超集:set1>set2 set1.issuperset(set2)
    统计:len(set)
    定义:
    ey:
    set1 = set({1,2,3,4})
    print(set1)
    
    
    set1 = {1,2,3,4}
    print(set1)
    result:{1, 2, 3, 4}
    ey:
    set1 = set({1,2,3,4,[12,2]})
    print(set1)
    result:TypeError: unhashable type: 'list'
    1,增:add
    ey:
    set1 = set({1,2,3,4})
    set1.add('1')
    print(set1)
    result:{1, 2, 3, 4, '1'}
    update():打散后追加
    ey:
    set1 = set({1,2,3,4})
    set1.update('ssswe')
    print(set1)
    result:{1, 2, 3, 4, 's', 'w', 'e'}
    2,删
    pop()从左开始删
    ey:
    set1 = set({1,2,3,4})
    set1.pop()
    print(set1)
    result:{2, 3, 4}
    remove(obj)按元素删
    ey:
    set1 = set({1,2,3,4})
    set1.remove(3)
    print(set1)
    result:{1, 2, 4}
    clear()清除
    ey:
    set1 = set({1,2,3,4})
    set1.clear()
    print(set1)
    result:set()
    del 删除
    ey:
    set1 = set({1,2,3,4})
    del set1
    print(set1)
    result:NameError: name 'set1' is not defined
    4,查
    ey:
    set1 = set({1,2,3,4})
    for i in set1:
        print(i)
    result:1,2,3,4
    5,统计
    set1 = set({1,2,3,4})
    print(len(set1))
    result:4
    6,交集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1&set2)
    result:{2, 3}
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2.intersection(set1))
    result:{1, 2, 3}
    7,并集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1|set2)
    result:{0, 1, 2, 3, 4, 8, 9}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.union(set2))
    result:{0, 1, 2, 3, 4, 8, 9}
    8,反交集
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1^set2)
    result:{0, 1, 4, 8, 9}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.symmetric_difference(set2))
    result:{0, 1, 4, 8, 9}
    9,差集:--存在于set1,不存在于set2
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1-set2)

    result:{1, 4}
    set1 = set({1,2,3,4})
    set2 = {2,3,8,9,0}
    print(set1.difference(set2))
    result:{1, 4}
    10,子集:set1是set2的子集
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set1<set2)
    result:True
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set1.issubset(set2))
    result:True
    11,超集:set2是set1的超集
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2>set1)
    result:True
    set1 = set({1,2,3})
    set2 = {1,2,3,5,6}
    print(set2.issuperset(set1))
    result:True
  • 相关阅读:
    HDU 1513 最长子序列
    HDU 3033 分组背包变形(每种至少一个)
    HDU 1712 分组背包
    深度学习
    《将博客搬至CSDN》
    UVa 10917 Dijkstra
    hdu 3839 Ancient Messages (dfs )
    LA 4255 UVa1423 拓扑排序
    poj 2515 差分序列,排列组合
    UVA 10054 the necklace 欧拉回路
  • 原文地址:https://www.cnblogs.com/meifei/p/11390188.html
Copyright © 2020-2023  润新知