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)
  • 相关阅读:
    学习总结------用JDBC连接MySQL
    MySQL基础语法------增删改查
    2、一、Introduction(入门):1、Application Fundamentals(应用程序基础)
    1、一、Introduction(入门): 0、Introduction to Android(引进到Android)
    小算法:合并两个有序数组,合并之后仍然有序
    小算法:求一个数的乘方
    标准SQL资料整理
    Android 4.0以上BlurMaskFilter效果无效
    Android反编译工具介绍与简单实用方法
    数据结构和算法笔记1 算法的定义,特性,设计要求
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12483378.html
Copyright © 2011-2022 走看看