zoukankan      html  css  js  c++  java
  • Python集合

    1集合是一个无序的,不重复的数据组合,它的主要作用如下(set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key):

      去重,把一个列表变成集合,就自动去重了

      关系测试,测试两组数据之前的交集、差集、并集等关系

    2(去重)

    1 # -*- coding:utf-8 -*-
    2 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    3 print(type(s))
    4 print(s)

    输出结果:

    1 <class 'set'>
    2 {1, 2, 3, 4, 5, 'tin', 12, ('tj', 120)}

    (关系测试)

    交集:

    1 # -*- coding:utf-8 -*-
    2 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    3 s2={123,23,4,5,6,7,8,}
    4 #交集,把相同的元素取出来
    5 print(s2.intersecti(s))     #或 print(s2 & s)
    
    

    输出结果:

    {4, 5}

    并集

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}  #并集
    3 print(s2.union(s))     #或  print(s2 | s)

    输出结果:

    {1, 2, 3, 4, 5, 6, 7, 8, ('tj', 120), 12, 'tin', 23, 123}

    差集

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}   #差集
    3 print(s2.difference(s))  # 或 print(s2-s)

    输出结果:

     1 {6, 7, 8, 23, 123} 

    对称差集

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}    
    3 print(s2.symmetric_difference(s))   #或 print(s2 ^ s)

    输入结果:

     {1, 2, 3, 6, 7, 8, 12, 'tin', 23, ('tj', 120), 123} 

    随机删除元素:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 print(s2.pop())   #pop 随机删除元素

    输出结果:4

    删除元素(可以任意删除一项):

    1 s2={123,23,4,5,6,7,8,}
    2 s.remove(2)
    3 print(s)

    输出结果:

    {1, 3, 4, 5, 'tin', 12, ('tj', 120)}

    父集:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 s.remove(2)
    4 print(s)
    5 print(s2.issuperset(s))

    输出结果:

    1 {1, 3, 4, 5, 12, ('tj', 120), 'tin'}
    2 False

    子集:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 s.remove(2)
    4 print(s)
    5 print(s2.issubset(s))

    输出结果:

    1 {1, 3, 4, 5, 'tin', 12, ('tj', 120)}
    2 False

    对称并集:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 s.remove(2)
    4 print(s)
    5 s2.difference_update(s)
    6 print(s2)

    输出结果:

    1 {'tin', 1, 3, 4, 5, ('tj', 120), 12}
    2 {6, 7, 8, 23, 123}

    添加元素:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 s2.add(18)
    4 print(s2)
    5 s.add(21)
    6 print(s)

    输出结果:

    1 {4, 5, 6, 7, 8, 18, 23, 123}
    2 {('tj', 120), 1, 2, 3, 4, 5, 12, 'tin', 21}

    合并多项元素:

    1 s={1,2,3,4,5,1,2,12,"tin",("tj",120),"tin",("tj",120)}
    2 s2={123,23,4,5,6,7,8,}
    3 s.update(s2)
    4 print(s)

    输出结果:

    {1, 2, 3, 4, 5, 6, 7, 8, 12, 23, 'tin', 123, ('tj', 120)}
  • 相关阅读:
    tensorflow 2.0 学习 (十) 拟合与过拟合问题
    tensorflow 2.0 学习 (九) tensorboard可视化功能认识
    tensorflow 2.0 学习 (八) keras模块的认识
    tensorflow 2.0 学习 (七) 反向传播代码逐步实现
    tensorflow 2.0 学习 (六) Himmelblua函数求极值
    tensorflow 2.0 学习 (五)MPG全连接网络训练与测试
    arp协议简单介绍
    Pthread spinlock自旋锁
    线程和进程状态
    内核态(内核空间)和用户态(用户空间)的区别和联系·
  • 原文地址:https://www.cnblogs.com/zqxqx/p/8013212.html
Copyright © 2011-2022 走看看