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

    Python之集合

    集合 set( )可变数据类型。

    set集合内的元素,一定是不可变数据类型。元素只能是int、string、tuple。

    例子:如何想要知道两个列表里是否有相同的,肿么办哩!

    Linux = ['sb','you','rain']
    python = ['sb','you','mack','rachel']
    
    linux_python = []
    
    for i in python:
        if i in Linux:
            linux_python.append(i)
    print(linux_python)

      集合的作用:关系测试,

            交集:两个都有。

            差集:在列表a里有,b里没有。

            并集:把两个列表的元素合并在一起。并去重

      集合的特性:

            和字典的大括号一样。{ },但是,他没有value。

            天然去重。

            集合无序。

    交集:

    Linux = {'sb','you','rain','sb'}
    python = {'sb','you','mack','rachel'}
    
    # 交集
    print(Linux.intersection(python))
    print(Linux&python)

    差集:

    Linux = {'sb','you','rain','sb'}
    python = {'sb','you','mack','rachel'}
    
    #差集
    print(Linux.difference(python))
    print(python.difference(Linux))
    print(Linux-python)
    print(python-Linux)

    并集:

    Linux = {'sb','you','rain','sb'}
    python = {'sb','you','mack','rachel'}
    
    #并集
    print(Linux.union(python))
    print(Linux|python)

    反向差集,对称差集:

      互相都不在的,打印

    Linux = {'sb','you','rain','sb'}
    python = {'sb','you','mack','rachel'}
    
    #反向差集,对称差集
    print(Linux^python)

    集合的增删改查:

    增:

    Linux.add("aaaa")   #增加
    print(Linux)
    
    Linux1 = Linux.copy()     #复制,和列表字典的复制一样
    print(Linux)
    print(Linux1)

    删:

    Linux.clear()   #清空Linux集合
    print(Linux)
    
    Linux.discard('sb')   # 删除  但是,元素不存在,不会报错
    print(Linux)
    
    Linux.pop()   #随机删除
    print(Linux)
    
    
    Linux.remove('ggg')  # 删除  但是,元素不存在,会报错
    print(Linux)

    改:

    #改:
    Linux.update(python) #把Python合并到Linux中。彻底修改Linux集合。
    print(Linux)
    
    Linux_diff = Linux.difference(python)   #求差集并赋值改Linux集合
    print(Linux_diff)

    查:

    # 查:
    a = Linux.issubset(python)   #子集,判断Linux,是不是Python的子集
    print(a)
    
    b=Linux.isdisjoint(python)   #两个集合没有关系,返回真。
    print(b)
  • 相关阅读:
    音频可视化
    accunulate
    node
    js 中编码(encode)和解码(decode)的三种方法
    ES6高阶 同步和异步 回调地狱 promise async和await
    区间dp
    树形dp1
    背包dp(多重)
    树形dp
    背包dp(完全)
  • 原文地址:https://www.cnblogs.com/george92/p/8978863.html
Copyright © 2011-2022 走看看