zoukankan      html  css  js  c++  java
  • python基本数据类型——集合

    集合

    无序可变序列,集合中元素不允许重复,即每个元素都是唯一的

    集合中的元素按照升序排列

     1 # 创建集合
     2 >>aset  = set([0,2,4,5,7,2,3,5,9,0])
     3 >>print(aset)
     4 {0, 2, 3, 4, 5, 7, 9}
     5 # 添加元素,按顺序插入集合
     6 >>aset.add(6)
     7 >>print(aset)
     8 {0, 2, 3, 4, 5, 6, 7, 9}
     9 
    10 #删除元素
    11 >>aset.pop()
    12 >>print(aset)
    13 {2, 3, 4, 5, 6, 7, 9}
    14 # remove删除指定元素
    15 >>aset.remove(2)
    16 {3, 4, 5, 6, 7, 9}
    17 # clear 清空
    18 >>aset.clear()
    19 >>print(aset)
    20 set()

    集合操作

     1 >>aset = {1,2,3,5,7}
     2 >>bset = {4,5,6,7}
     3 #并集
     4 >>aset | bset
     5 {1, 2, 3, 4, 5, 6, 7}
     6 # 交集
     7 >>aset & bset
     8 {5, 7}
     9 >>aset.intersection(bset)
    10 {5, 7}
    11 # 差集
    12 >>aset.difference(bset)
    13 {1, 2, 3}
    14 # 对称差
    15 >>aset.symmetric_difference(bset)
    16 {1, 2, 3, 4, 6}
    17 # 测试是否为子集
    18 >>x={1,2}
    19 >>x.issubset(aset)
    20 True
    21 >>x.issubset(bset)
    22 False

    由于集合中元素是唯一的,可以使用集合提取序列中单一元素,或生成不重复的随机序列

     1 >>from random import randint
     2 >>from collections import Counter
     3 >>listR = [randint(0,100) for i in range(40)]
     4 >>numFreq = Counter(listR)
     5 >>print(numFreq)
     6 Counter({3: 1,
     7          4: 2,
     8          7: 1,
     9          13: 1,
    10          17: 1,
    11          19: 1,
    12          23: 1,
    13          26: 1,
    14          44: 1,
    15          50: 1,
    16          52: 1,
    17          53: 1,
    18          54: 1,
    19          55: 1,
    20          60: 1,
    21          62: 1,
    22          68: 1,
    23          73: 1,
    24          77: 1})
    25 # 随机数中包含2个4
    26 >>noRepeat = set(listR)
    27 >>print(noRepeat)
    28 3, 4, 7, 13, 17, 19, 23, 26, 44, 50, 52, 
      53, 54, 55, 60, 62, 68, 73, 77} 29 # 生成的集合中只有一个4
  • 相关阅读:
    varnish4.X安装
    关于varnish缓存
    s3cmd的使用
    MarkdownPad 2
    Lua控制语句
    Lua表达式
    后端怎么防止重复提交?(常用的做法)
    Redis用setnx+expire实现分布式锁存在什么隐患,如何改进?
    推送消息为什么使用RocketMQ,而不使用Kafka?
    自定义线程池,如何最佳创建线程池
  • 原文地址:https://www.cnblogs.com/feinaio2017/p/8727125.html
Copyright © 2011-2022 走看看