• Python—集合(在我的世界,你就是唯一)


    一.概念与定义

    集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。

    元素不可重复,只能是固定数据类型元素。

    集合(set)属于Python无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。 集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。类型本身都是可变数据类型,不能作为集合的元素出现。

    二.创建于删除

    直接将集合赋值给变量即可创建一个集合对象。

    >>> a = {3, 5} #创建集合对象

    也可以使用函数set()函数将列表、元组、字符串、range对象等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个;如果原序列或迭代对象中有不可哈希的值,无法转换成为集合,抛出异常。

    >>> a_set = set(range(8, 14)) #把range对象转换为集合

    >>> b_set = set([0, 1, 2, 3, 0, 1, 2, 3, 7, 8]) #转换时自动去掉重复元素

    >>> b_set {0, 1, 2, 3, 7, 8}

    >>> x = set() #空集合

    三.操作与运算

    上述操作符表达了集合类型的4种基本操作,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同.

    集合类型有10个操作函数或方法

    集合类型主要用于三个场景:成员关系测试、元素去重复和删除数据项,例子如下。

    >>>"BIT" in {"PYTHON", "BIT", 123, "GOOD"} #成员关系测试

    True

    >>>tup = ("PYTHON", "BIT", 123, "GOOD", 123) #元素去重

    >>>set(tup) {123, 'GOOD', 'BIT', 'PYTHON'}

    >>>newtup = tuple(set(tup)–{'PYTHON'})

    # 去重同时删除数据项 ('GOOD', 123, 'BIT')

    集合类型与其他类型最大的不同在于它不包含重复元素,因此,当需要对一维数据进行去重或进行数据重复处理时,一般通过集合来完成。



    四.应用实例

    可以使用集合快速提取序列中单一元素,即提取出序列中所有不重复元素。

    如果使用传统方式的话,需要编写下面的代码:

    >>> import random

    >>> listRandom = [random.choice(range(10000)) for i in range(100)]

    >>> noRepeat = []

    >>> for i in listRandom :

         if i not in noRepeat :

                   noRepeat.append(i)

    >>> len(listRandom)

    >>> len(noRepeat)

    而如果使用集合的话,只需要下面这么一行代码就可以了,可以参考上面的代码对结果进行验证。

    >>>newSet = set(listRandom)

  • 相关阅读:
    springboot + 自定义配置文件读取
    springboot + mybatis分页插件pagehelper
    Python学习日记(三十九) Mysql数据库篇 七
    Python学习日记(三十八) Mysql数据库篇 六
    Python学习日记(三十七) Mysql数据库篇 五
    Python学习日记(三十六) Mysql数据库篇 四
    Python学习日记(三十五) Mysql数据库篇 三
    Python学习日记(三十四) Mysql数据库篇 二
    Python学习日记(三十三) Mysql数据库篇 一
    Python学习日记(三十二) hmac检验客户端的合法性和socketsever模块
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/9075109.html
Copyright © 2020-2023  润新知