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)
  • 相关阅读:
    技术博客-3 nginx+uwsgi部署DRF项目踩坑
    Scrum meeting 3
    经典模型及简单模型实践
    inference样例(一)
    Scrum meeting 2
    技术博客-2 DRF用户权限以及邮箱验证
    网页加载慢,你知道几种原因?
    服务器无法访问,如何迅速精准排查定位
    什么是单点登录?单点登录的三种实现方式
    linux中 替换内容的命令
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12483378.html
Copyright © 2011-2022 走看看