zoukankan      html  css  js  c++  java
  • 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)

     

     

     

     

     

     

     

     

  • 相关阅读:
    Aviator
    Docker是什么
    vulnhub--SickOs1.1
    vulnhub--HackInOS
    本地浏览器远程访问服务器tensorboard(MobaXterm)
    dogecoin
    python多进程
    gpu
    python调用父类(超类)
    linux更改终端显示颜色(用户名颜色等)
  • 原文地址:https://www.cnblogs.com/Franciszw/p/12482446.html
Copyright © 2011-2022 走看看