• 【零基础学Python】Day7 Python基本数据类型之Set


    昨天跟大家一起学习了 Python基本数据类型之Number,没学的兄弟姐妹们看这里【零基础学Python】Day6 Python基本数据类型之Tuple,今天让我们开始学习Python基本数据类型集合Set吧。
    需注意的是,【零基础学Python】此系列都使用Python3。


    Python3 中有6个基本的数据类型:

    • Number(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Set(集合)
    • Dictionary(字典)

    而这6个基本的数据类型又可划分为两类,可变数据类型和不可变数据类型,见下:

    • 不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)
    • 可变数据类型:List(列表)、Dictionary(字典)、Set(集合)
      在这里插入图片描述

    Set

    集合Set是一个无序的不重复元素序列,无序是指集合中的元素没有顺序,不重复是指集合中不能存储重复数据,这一特性也常用于数据去重。集合的定义非常简单,使用大括号{}或者set()即可,但是当创建空集合时,不能用大括号,因为字典的定义是用大括号。

    >>> heizui = {}
    >>> print(type(heizui))
    <class 'dict'>
    >>> heizui = {'黑嘴'}
    >>> print(type(heizui))
    <class 'set'>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    当使用元组时,里面可以存储多个黑嘴,但是集合会去除重复,而且顺序也会改变

    >>> heizui = ('黑嘴', '黑嘴', '开朗', '233')
    >>> print(heizui)
    ('黑嘴', '黑嘴', '开朗', '233')
    >>> heizui = {'黑嘴', '黑嘴', '开朗', '233'}
    >>> print(heizui)
    {'开朗', '233', '黑嘴'}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    集合添加元素使用add()函数,删除元素使用remove()函数,但是删除不存在元素时会报错,推荐使用discard()函数,删除不存在元素时不会报错。

    >>> heizui = {'黑嘴', '黑嘴', '开朗', '233'}
    >>> print(heizui)
    {'开朗', '233', '黑嘴'}
    >>> heizui.add('张一蛋')
    >>> print(heizui)
    {'张一蛋', '开朗', '233', '黑嘴'}
    >>> heizui.remove('233')
    >>> print(heizui)
    {'张一蛋', '开朗', '黑嘴'}
    >>> heizui.remove('233')
    Traceback (most recent call last):
      File "", line 1, in <module>
    KeyError: '233'
    >>> heizui.discard('233')
    >>> heizui.discard('黑嘴')
    >>> print(heizui)
    {'张一蛋', '开朗'}
    >>> heizui.clear() # 清空集合
    >>> print(heizui)
    set()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    下面展示两个集合间的运算:

    >>> a = set('abracadabra')
    >>> b = set('alacazam')
    >>> a                                  
    {'a', 'r', 'b', 'c', 'd'}
    >>> a - b                              # 集合a中包含而集合b中不包含的元素
    {'r', 'd', 'b'}
    >>> a | b                              # 集合a或b中包含的所有元素
    {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
    >>> a & b                              # 集合a和b中都包含了的元素
    {'a', 'c'}
    >>> a ^ b                              # 不同时包含于a和b的元素
    {'r', 'd', 'b', 'm', 'z', 'l'}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    集合非常简单,兄弟们学废了吗

  • 相关阅读:
    JVM虚拟机-虚拟机性能监控、故障处理工具
    vue实现鼠标移入图片播放视频
    codeforces 线段树题单
    /etc/profile与~/.bash_profile的区别
    HTTP状态码301(永久重定向)不同Web服务器的配置方法
    JVM - 内存模型
    使用Python实现对word的批量操作
    【VSCode + Anaconda】VSCode [WinError 126]找不到指定模块
    想要精通算法和SQL的成长之路 - 最小高度树
    MySQL迁移到ClickHouse
  • 原文地址:https://blog.csdn.net/Dr_Guo/article/details/126485939