博客
关于我
python初步学习-python数据类型-集合(set)
阅读量:797 次
发布时间:2023-03-07

本文共 1108 字,大约阅读时间需要 3 分钟。

集合数据类型详解

在学习数据类型时,我们已经熟悉了如List、String等数据类型的特点。集合(Set)作为一种独特的数据类型,具有与List和Dict不同的特性,值得我们深入探讨。

集合的特点

集合的特点可以总结为以下几点:

  • 可变性与不可变性并存:集合支持原地修改(可变),但元素不可重复。
  • 无序性:集合的元素排列顺序无关紧要。
  • 不可重复性:集合中的元素彼此不同。

创建集合

集合在Python中类似于List和Dict的杂合体。可以通过以下方式创建集合:

  • 使用set()函数
  • >>> set_study = set('pingqiang')
    >>> set_study.add('g', 'i', 'n', 'q', 'p')

    注意到,字符串'pingqiang'中有重复字符'i',但集合会自动去重,保留一个'i'。集合中的元素顺序无关紧要。

    1. 使用花括号{}
    2. >>> s3 = {"facebook", 123}
      >>> s3.add(456)

      使用花括号直接创建集合时,需注意集合中的元素类型统一,避免造成混淆。

      集合的操作方法

      集合支持多种操作方法,包括:

      • 添加元素add()update()
      • 移除元素remove()discard()pop()
      • 清空集合clear()

      这些方法使集合既能创建又能修改集合内容。

      不可变的集合

      在某些场景下,集合需要保持不变。可以通过frozenset()创建不可变集合:

      >>> frozen_set = frozenset({'a', 'b', 'c'})
      >>> frozen_set.add('d') # 这会报错,因为frozen_set是不可变的

      不可变集合(如frozen_set)支持哈希操作,适合作为字典的值。

      集合运算

      集合的运算主要包括以下几种:

    3. 元素的存在性检查
    4. >>> aset = set(['h', 'o', 'n', 'p', 't', 'y'])
      >>> "a" in aset # False
      >>> "h" in aset # True
      1. 集合间操作
        • 子集关系:检查两个集合是否满足子集或超集关系。
        • 并集A | BA.union(B)
        • 交集A & BA.intersection(B)
        • 差集A - BA.difference(B)
        • 对称差集A ^ BA.symmetric_difference(B)

        这些操作使集合在数据处理中表现出色,常用于解决复杂的逻辑问题。

        集合作为数据类型,在程序设计中具有重要地位。理解其特性和操作方法,有助于更好地利用它来解决实际问题。

    转载地址:http://jeofk.baihongyu.com/

    你可能感兴趣的文章
    python基础之--包和模块
    查看>>
    python基础之---面向对象--属性和方法
    查看>>
    python基础之---运算符
    查看>>
    python基础之---语句
    查看>>
    python基础之---正则表达式
    查看>>
    python基础之---函数式编程
    查看>>
    python基础之---函数
    查看>>
    Python基础之(一)基本数据类型
    查看>>
    Python基础【os】
    查看>>
    Python基础——面向对象
    查看>>
    Python基础——线程锁
    查看>>
    python基础——线程与进程
    查看>>
    Python基础——构造方法和特殊成员方法
    查看>>
    Python基础——多线程值从Thread类继承
    查看>>
    Python基础——多线程之信号量
    查看>>
    Python基础——_thread多线程
    查看>>
    Python基础——Thread类与线程对象
    查看>>
    Python基础——Thread创建管理多线程
    查看>>
    Python基础——SQLite数据库基本操作
    查看>>
    Python基础——MySQL数据库基本操作
    查看>>