• 【零基础学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

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

  • 相关阅读:
    数组清空(bzero与memset)
    leetcode10--正则表达式
    《深度学习进阶:自然语言处理》读书笔记:第7章 基于RNN生成文本
    19Linux基本使用和web程序部署
    手把手教你君正X2000开发板的OpenHarmony环境搭建
    前端工程化面试题
    呼叫中心-拨号方案和路由配置okcc智能系统
    单例模式c++
    选择排序—直接选择排序和堆排序
    Cruise 从零搭建模型
  • 原文地址:https://blog.csdn.net/Dr_Guo/article/details/126485939