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)
  • 相关阅读:
    反射 Reflect Modifier 修饰符工具类
    【泛型】Generic 参数化类型 类型转换
    泛型 Generic 类型擦除引起的问题及解决方法
    注解 Annotation 简介 总结 MD
    反射 Reflect Class 基础 API MD
    【Type】类型 ParameterizedType
    Java中浮点类型的精度问题 double float
    jQuery之$.ajax()方法详解及实例
    pace.js – 加载进度条插件
    在线代码编辑、保存与运行网址推荐
  • 原文地址:https://www.cnblogs.com/george92/p/8978863.html
Copyright © 2011-2022 走看看