zoukankan      html  css  js  c++  java
  • python之集合

    集合:可变的数据类型,他里面的元素是不可变的数据类型,无序,不重复
    不可变是可哈希
    set1 = set({1,2,3})
    set2 = {1,2,3,[2,3],{'name':'alex'}} #集合元素不可变的 所以输出错误
    print(set1)
    print(set2)

    增:
    1.#add
    set1.add('alex')
    2.#update
    set1.update('abc') #迭代增加 把a b c分别增加

    删:
    1.#pop
    set.pop() #随机删除 有返回值
    print(set1)

    2.#remove
    set.remove('alex') #按元素

    3.#clear 清空
    set.clear()

    4.#del 删除整个集合

    查:(只能for循环查)
    for i in set1:
    print(i)

    交集:
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    set3 = set1&set2
    print(set3)
    print(set1.intersection(set2))

    并集:
    print(set1 | set2)
    print(set2.union())

    反交集:
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1^set2)
    print(set1.symmetric_difference(set2))

    差集:
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1-set2)# set1独有的
    print(set1.difference())

    子集:
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1<set2)
    print(set1.issubset())#返回布尔值

    超集:
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1>set2)
    print(set1.issuperset())#返回布尔值
    print(set1.issubset())#返回布尔值

    去重(面试题):
    li = [1,2,33,33,2,1,4,5,6,6]
    set1 =set(li)
    li = list(set1)
    print(li)

    frozenset不可变集合,让集合变成不可变集合:
    s = frozenset('barry')
    只读无序:
    for i in s :
    print(i)

  • 相关阅读:
    hdu多校4
    hdu多校第三场
    牛客多校4
    bzoj 1477 扩展欧几里德
    bzoj 1485 卡特兰数 + 分解因子
    hdu多校 2
    牛客网暑期多校2
    bzoj 1040 基向内环树dp
    hdu 多校第一场
    SPOJ
  • 原文地址:https://www.cnblogs.com/chif/p/9483433.html
Copyright © 2011-2022 走看看