zoukankan      html  css  js  c++  java
  • python——集合

      在python中,字典的亲戚就是集合,集合就是无映射关系的字典,花括号并不是字典的特权。如下面程序所示:

    1 >>> num = {}
    2 >>> type(num)
    3 <class 'dict'>
    4 >>> num1 = {1,2,3,4,5}
    5 >>> type(num1)
    6 <class 'set'>

      众所周知,集合中的元素互不相同,python中也如此。且输出的数据按一定顺序排列。并且集合不支持索引。如下程序所示:

    1 >>> num2 = {1,2,1,3,3,7,8,5,2,9}
    2 >>> num2
    3 {1, 2, 3, 5, 7, 8, 9}
    4 >>> num2[2]
    5 Traceback (most recent call last):
    6   File "<pyshell#6>", line 1, in <module>
    7     num2[2]
    8 TypeError: 'set' object does not support indexing

      创建集合的方法有2种,一是上述形式,二是内置的函数set()

    1 >>> set1 = set([1,2,3,4,5,5,2])
    2 >>> set1
    3 {1, 2, 3, 4, 5}

      往集合里面添加或者移除元素可用add()函数和remove()函数,如下程序所示:

     1 >>> set1 = set([1,2,3,4,5,5,2])
     2 >>> set1
     3 {1, 2, 3, 4, 5}
     4 >>> set1.add(5)
     5 >>> set1
     6 {1, 2, 3, 4, 5}
     7 >>> set1.add(6)
     8 >>> set1
     9 {1, 2, 3, 4, 5, 6}
    10 >>> set1.remove(4)
    11 >>> set1
    12 {1, 2, 3, 5, 6}

      集合有不可变的集合,里面的元素不可改变。可用内置函数frozenset()函数创建,如下程序所示:

    1 >>> set2 = frozenset([1,2,3,4,6])
    2 >>> set2.add(5)
    3 Traceback (most recent call last):
    4   File "<pyshell#17>", line 1, in <module>
    5     set2.add(5)
    6 AttributeError: 'frozenset' object has no attribute 'add'

     集合类型内建方法总结(引用自‘鱼C工作室’):https://fishc.com.cn/thread-45276-1-1.html

  • 相关阅读:
    [转]ASP NET 缓存相关介绍及汇总
    比较经典的SQL行转列+分组集联
    平面向量的叉乘
    获得一点到三角形最近点
    检测线段是否有交集
    线段交集点计算
    UE4 移动设备 不显示影子问题
    Unity通过世界坐标系转换到界面坐标位置
    selemium 常用查找方法
    unity导入TexturePacker处理
  • 原文地址:https://www.cnblogs.com/carlber/p/9403755.html
Copyright © 2011-2022 走看看