• python09:集合


    一、集合类型 set

    1 作用

    关系运算、去重

    用for也能做关系运算,就是太麻烦。

    l1=[1,2,3,4,5]
    l2=[3,3,4,5,6]
    l=[]
    for x in l1:
        if x in l2:
          l.append(x)
          print(x)
    

    2 定义:在{ }内用逗号分开多个元素,集合内元素有3个特点:

    1.集合内元素均为不可变类型

    2.集合内元素无序

    3.集合内元素没有重复

    定义空集合:s=set(),大括号是默认空字典。

    3 类型转换

    set({1,2,3})
    res=set('helllllllo')
    dict=({'k1':1,'k2':2})
    s=set(dict)
    print(res,s)
    

    4 内置方法——关系运算

    4.1取交集

    friend1={1,2,3,4,5}
    friend2={3,4,5,6,7,8}
    print(friend1 & friend2)
    

    4.2 取并集

    print(friend1 | friend2)
    

    4.3 取差集

    print(friend1 - friend2)
    

    4.4 取对称差集

    print(friend1 ^ friend2)
    

    4.5 父子集

    当一个集合S1是S2的子集时称,S1<S2

    5 内置方法——去重

    特点:只能针对不可变类型,无法保证原来的顺序。

    去重一般自己根据情况编写程序,python不可能提供解决问题的所有方法

    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)
    

    6 其他内置方法

    6.1 .discard() 括号内是要删除的值,若删除的元素不存在不会报错

    s={1,2,3}
    # s.discard(4) # 删除元素不存在do nothing
    # print(s)
    # s.remove(4) # 删除元素不存在则报错
    

    6.2 .update() 添加新集合,.add()添加新元素

    # s.update({1,3,5})
    # print(s)
    # s.add(4)
    # print(s)
    
    

    6.3 .pop()随机删除一个元素

    # s.update({1,3,5})
    # print(s)
    
  • 相关阅读:
    Docker创建tomcat镜像简单使用
    Eclipse和Jdk版本问题
    HashTable源码阅读
    HashMap源码阅读
    报错:Multiple annotations found at this line:
    python全栈开发学习03
    python全栈开发学习 02
    关于termux在手机上搭载Linux系统,python,ssh
    python全栈开发学习 01
    机器学习实战
  • 原文地址:https://www.cnblogs.com/Franciszw/p/12482992.html
Copyright © 2020-2023  润新知