zoukankan      html  css  js  c++  java
  • 10、数据类型内置之集合

    一、集合

    1.1、集合定义

      在大括号{}内使用逗号,分隔开多种元素,具备集合需要有以下几种特征:

      1.、每个元素必须是不可变类型

      2、每个元素都是唯一性

      3、集合内元素无序

    1.2、作用

      和列表、字典、元组一样可以存放多个值。但主要用来:去重以及关系运算。

      注意:d = {  }   #默认是空字典

         s = set (  )   #代表着空集合

    1.3、转换类型   set( )

    set({1,2,3})
    res=set('hellolllll')
    print(res)

    1.4、内置方法

    1.4.1、交集:  公共的元素    &

    res=friends1 & friends2
    print(res)
    print(friends1.intersection(friends2))

    1.4.2、 并集:  所有的元素     |

     print(friends1 | friends2) print(friends1.union(friends2))

    1.4.3、差集:   独有的元素    -

    print(friends1 - friends2)
    print(friends1.difference(friends2))

    1.4.4、对称差集:双方独有的元素   ^

    print(friends1 ^ friends2)
    print(friends1.symmetric_difference(friends2))

    1.4.5、父子集:包含的关系     使用大于号或者小于号进行判断

    s1={1,2,3}s2={1,2,4}不存在包含关系,下面比较均为Falseprint(s1 > s2)print(s1 < s2)

    1.5、去重

    1.5.1、使用集合去重,但时无序,只能针对不可变量类型

    l=[1,'a','b','z',1,1,1,2]
    l=list(set(l))
    print(l)

    1.5.2、使用for循环去重,有序,但时复杂

    l=[
        {'name':'lili','age':18,'sex':'male'},
        {'name':'jack','age':73,'sex':'male'},
        {'name':'tom','age':20,'sex':'female'},
        {'name':'lili','age':18,'sex':'male'},
        {'name':'lili','age':18,'sex':'male'},
    ]
    new_l=[]
    for dic in l:
        if dic not in new_l:
            new_l.append(dic)
    
    print(new_l)

    1.6、内置方法

    1.6.1、长度  len

    s={'a','b','c'}
    len(s)

    1.6.2、成员运算   in

    s={'a','b','c'}
    'c' in s

    1.6.3、循环     for

    for item in s:
        print(item)

    1.6.4、删除   discard    remove    pop

    s={'a','b','c'}
    s.discard(4) # 删除元素不存在do nothing
    print(s)
    s.remove(4) # 删除元素不存在则报错
    res=s.pop() #删除返回删除的值
    print(res)

    1.6.5、更新   update

    s={'a','b','c'}
    s.update({1,3,5})
    print(s)

    1.6.6、添加   add  交集

    s={'a','b','c'}
    s.add(4)
    print(s)

    1.6.7、判断两个集合无联系    isdisjoint   

    s={'a','b','c'}
    res=s.isdisjoint({3,4,5,6}) # 两个集合完全独立、没有共同部分,返回True
    print(res)

    1.6.7、差集   difference_update

    s={'a','b','c'}
    s.difference_update({3,4,5}) # s=s.difference({3,4,5})
    print(s)
  • 相关阅读:
    为什么要用webUI?
    探索WebKit内核(一)------ 菜鸟起步
    主进程退出的时候,杀死所有子进程
    那两年炼就的Android内功修养
    飞鸽---局域网聊天软件攻防战
    如何利用Fluxion诱惑目标用户获取WPA密码
    性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench
    解决maven编译错误:程序包com.sun.xml.internal.ws.spi不存在
    Apache-Flink深度解析-DataStream-Connectors之Kafka
    linux下find(文件查找)命令的用法总结
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12483378.html
Copyright © 2011-2022 走看看