zoukankan      html  css  js  c++  java
  • 集合

    1、定义

    集合:

    1、不同元素组成

    2、无序

    3、集合中元素必须是不可变类型(字符串、数字、元祖)

    二、函数

    1 .add() #添加元素,只能加一个值

    2 .pop() #随机删除元素

    3 .remove() #删除指定元素,不存在时会报错

    4 .discard() #删除指定元素,不存在时不会报错

    4 .copy() #复制集合

    s = {'kop',1,2,3,3,4,5,6,'qq'}
    print(s)
    s.add('123')
    print(s)
    sn = s.copy()
    print(sn)
    print(s.pop())
    sq = s.remove(4)
    print(s)
    sd = s.discard(45)
    print(s)
    s.clear()
    print(s)

    输出结果:

    {1, 2, 3, 4, 5, 6, 'kop', 'qq'}
    {1, 2, 3, 4, 5, 6, '123', 'kop', 'qq'}
    {1, 2, 3, 4, 5, 6, '123', 'kop', 'qq'}
    1
    {2, 3, 5, 6, '123', 'kop', 'qq'}
    {2, 3, 5, 6, '123', 'kop', 'qq'}
    set()

    .frozenset() #不可变集合,无法增删

    .set() #可变集合

    三、常用关系运算

    1、求交集

    print(a,b) #a,b为集合

    print(a.intersection(b))

    print(a&b)

    2、求并集

    print(a.union(b))

    pring(a|b)

    3、求差集

    print(a-b)

    print(a.difference(b))

    4、交叉补集

    print(a.symmntric_difference(b))

    pring(a^b)

    5、重新给a赋值,用 .update(),前面可加其他函数组合。

    a = a - b #给a重新赋值,赋值为a减去b的差集,如下:

    print(a.difference_update(b))

    print(a.update(b)) #可迭代的都可以

    6、a与b中不含共同的元素

    print(a.isdisjoint(b)) #输出结果是布尔值

    7、b中包含a的所有元素,即a<=b,亦即a是b的子集

    print(a.issubset(b)) #输出结果是布尔值

    8、a中包含b的所有元素,即a>=b,亦即b是a的子集

    print(a.issuperset(b)) #输出结果是布尔值

    四、活用

    去重

    names=['alex','alex','wd']

    names = list(set(names))

    print(names)

  • 相关阅读:
    C#的list和arry相互转化
    c++11の的左值、右值以及move,foward
    c++11の异步方法 及线程间通信
    C#的static
    HDU4027 Can you answer these queries?
    POJ3264 Balances Lineup
    ZOJ1610 Count the Colors
    ZOJ4110 Strings in the Pocket(2019浙江省赛)
    HDU1698 Just a Hook
    POJ3468 A Simple Problem with Integers
  • 原文地址:https://www.cnblogs.com/lishuangtu/p/8918622.html
Copyright © 2011-2022 走看看