• DAY02


    集合

    定义: S=set(). 注意S={}为字典类型

    求两个列表的公共部分

    1 pythons=['AAA','BBB','CCC','DDD','EEE','FFF']
    2 linuxs=['DDD','GGG','EEE']
    3 res=[]
    4 for p in pythons:
    5     if p in linuxs:
    6         res.append(p)
    7 print(res)
    >>> ['DDD','EEE']

    1 集合内可以有多个元素,但是每个元素都必须是不可变类型,即可hash类型
    2 集合内的元素唯一
    3 集合是无序的
    s={1,'a',1,1,1,1,1,1}
    #本质 s=set({1,'a',1,1,1,1,1,1})

    1 s1=set('hello')
    2 print(s1,type(s1))
    >>> {'l', 'h', 'e', 'o'} <class 'set'>

    集合优先掌握的方法

    1 pythons={'AAA','BBB','CCC','DDD','EEE','FFF'}
    2 print('AAA' not in pythons)
    >>> False
    3 print(pythons) #集合是无序的
    >>> {'EEE', 'CCC', 'BBB', 'FFF', 'DDD', 'AAA'}

    集合的关系运算

    s1={1,10,11,22}
    s2={1,11,33}

    交集

    1 print(s1 & s2)
    >>> {1,11}

    并集

    1 print(s1 | s2)
    >>> {1, 33, 10, 11, 22}

    差集

    1 print(s1 - s2)
    >>> {10,22}
    2 print(s2 - s1)
    >>> {33}

    对称差集

    1 print(s1 ^ s2)
    >>> {33,22,10}

    集合的父集与子集

    父集

    1 s1={1,2,3,5}
    2 s2={1,5}
    3 print(s1 >= s2)
    >>> True

    子集

    1 s1={1,2,3,5}
    2 s2={1,5}
    3 print(s1 <= s2)
    >>> False
    4 print(s2 <= s1)
    >>> True

    集合的内置方法

    pythons={'AAA','BBB','CCC','DDD','EEE','FFF'}
    linuxs={'DDD','GGG','EEE'}
    1. 求出即报名python又报名linux课程的学员名字集合

    1 print(pythons & linuxs)
    2 print(pythons.intersection(linuxs))
    >>> {'EEE', 'DDD'}

    2. 求出所有报名的学生名字集合

    1 print(pythons | linuxs)
    2 print(pythons.union(linuxs))
    >>> {'EEE', 'CCC', 'BBB', 'GGG', 'FFF', 'DDD', 'AAA'}

    3. 求出只报名python课程的学员名字

    1 print(pythons - linuxs)
    2 print(pythons.difference(linuxs))
    >>> {'AAA', 'CCC', 'FFF', 'BBB'}

    4. 求出没有同时这两门课程的学员名字集合

    1 print(pythons ^ linuxs)
    2 print(pythons.symmetric_difference(linuxs))
    >>> {'CCC', 'BBB', 'GGG', 'FFF', 'AAA'}

    集合的其他内置方法

    1 s={1,2,3,'a'}
    2 s.add(5)
    3 print(s) #集合是无序的
    >>>
    {1, 2, 3, 5, 'a'}
    4 print(s.pop()) #集合是无序的
    >>> 1
    5 s.remove('a') #根据元素删除 6 print(s)
    >>> {2, 3, 5}
    7 s.remove('vvvvvvvvvv') #元素不存在报错KeyError 8 s.discard('aaaaaa') #元素不存在不报错 9 print(s)
    >>> {2, 3, 5}
  • 相关阅读:
    git stash和git stash pop
    Ethereum HD Wallet(虚拟货币钱包)-BIP32、BIP39、BIP44
    bip44
    bip39
    bip32
    ethjs-1-了解
    myEtherWallet在线钱包的使用
    MetaMask/provider-engine-2-代码
    MetaMask/provider-engine-1
    MetaMask/eth-block-tracker
  • 原文地址:https://www.cnblogs.com/hugengfeng/p/7338046.html
Copyright © 2020-2023  润新知