zoukankan      html  css  js  c++  java
  • 补上:17至18日集合学习笔记

    集合(set)  s=set(可以放可迭代的值:字符串  列表  元组   字典)     s=set("hello")

    集合定义:由不同元素组成,集合中的数是一组无序的可哈希(不可变值)的值。

    1.不同的元素(会自动弃除相同的元素)

    2.无序(集合无付使用下标起值,因为是无序)

    3.存放不可变值(数字   字符串  元组)

    s={"test",12,34,(1,3,"hh")}——————集合方式(大括号)

    查看类型:使用type(s)

    集合的内置方法:

     add(增加值,只能不同值)

    clear(清空)

    copy(拷贝)

    pop(删除,无序的删除任意值)

    remove(删除指定的元素,如果删除的元素不存在会爆错)

    discard(删除指定元素,不存在但是不爆错,继续可以执行下面的程序)

    集合关系运算交、差、并的相关运算

    补充:集合可以弃重,但是弃重后是无序的

    l1=[11,22,33,33]
    l2=[22,33,44,44]
    l1_1=set(l1)#变为集合
    l1_2=set(l2)#变为集合
    print(l1_1,l1_2)

    #求交集
    print(l1_1.intersection(l1_2))
    print(l1_1 & l1_2)
    #求并集
    print(l1_1.union(l1_2))
    print(l1_1 | l1_2)

    # 求差集 l1_1 - l1_2 是存在也左边的集合,不存在右边的集合
    print(l1_1.difference(l1_2)) #最后是11
    print(l1_1-l1_2)
    print(l1_2.difference(l1_1))#最后是44
    print(l1_2-l1_1)

    #交叉补集     把2个合到一块,在除去相同的部分
    print(l1_1.symmetric_difference(l1_2))
    print(l1_2^l1_1)

    集合的方法:
    difference_update(求出不同,更新列表里面的内容)
    intersection_update(求相同同,更新列表里面的内容)
    issubset(判断子集 或是 父集,包含关系)
    isdisjoint(判断2个集合是否有相同的内容)
    update(并集union一样,只是更新对应的内容)——————同时可以更新多个值


    补充:
    s=frozenset("hello")#变成一个不可变的集合,不能进行任何操作
    print(s)

    集合去重,可以在转换成列表
  • 相关阅读:
    start tag, end tag issues in IE7, particularly in xslt transformation
    用SandCastle为注释生成chm文档
    Firebug
    架构的重点
    Linux Shell常用技巧(十) 管道组合
    Linux JDK升级
    Linux Shell常用技巧(十二) Shell编程
    Packet Tracer 5.0实验(一) 交换机的基本配置与管理
    Linux Shell常用技巧(六) sort uniq tar split
    Linux Shell常用技巧(二) grep
  • 原文地址:https://www.cnblogs.com/jianchixuexu/p/11518537.html
Copyright © 2011-2022 走看看