详解Python 集合和多重集合

yizhihongxing

Python的集合和多重集合都是用来保存一组元素的数据结构。但是它们之间还是有一些区别的,我会分别进行介绍。

集合(set)

集合是一组无序、不重复的元素,主要用于去重和判断元素是否存在。在Python中,使用set()函数创建一个空的集合,或者使用大括号{}来定义一个有元素的集合。

  1. 创建集合:
# 空集合
empty_set = set()
print(empty_set)  # output: set()

# 包含元素的集合
languages = {'Python', 'Java', 'C', 'PHP', 'JavaScript'}
print(languages)  # output: {'C', 'Java', 'Python', 'PHP', 'JavaScript'}

# 或者
languages = set(['Python', 'Java', 'C', 'PHP', 'JavaScript'])
print(languages)  # output: {'C', 'Java', 'Python', 'PHP', 'JavaScript'}
  1. 常用方法:

  2. add():向集合中添加一个元素

  3. remove():从集合中删除一个元素
  4. pop():随机删除一个元素
  5. clear():清空集合
languages.add('Ruby')
print(languages)  # output: {'C', 'Java', 'Python', 'PHP', 'JavaScript', 'Ruby'}

languages.remove('Java')
print(languages)  # output: {'C', 'Python', 'PHP', 'JavaScript', 'Ruby'}

languages.pop()
print(languages)  # output: {'PHP', 'JavaScript', 'Ruby', 'C'}

languages.clear()
print(languages)  # output: set()

此外,还可以对两个集合进行交、并、差等操作。

set1 = set([1, 2, 3, 4, 5])
set2 = set([3, 4, 5, 6, 7])

print(set1 & set2)  # output: {3, 4, 5}  # 交集
print(set1 | set2)  # output: {1, 2, 3, 4, 5, 6, 7}  # 并集
print(set1 - set2)  # output: {1, 2}  # 差集

多重集合

多重集合也称作“袋子”,是一种可以允许元素重复出现的数据结构。在Python中,可以使用collections模块中的Counter类来创建并操作多重集合。

  1. 创建多重集合:

可以通过给Counter类传入一个可迭代对象来创建一个包含多重集合的Counter对象。如下:

from collections import Counter

multi_set = Counter(['apple', 'orange', 'banana', 'apple', 'orange', 'orange'])
print(multi_set)  # output: Counter({'orange': 3, 'apple': 2, 'banana': 1})
  1. 常用方法:

与集合相比,多重集合的操作多了一个获取元素出现次数的方法。具体来说,Counter对象还包括以下方法:

  • update():合并多个多重集合
  • most_common():返回出现频率最高的元素和它们的个数
  • elements():返回一个包含所有元素的迭代器
  • subtract():从一个多重集合中删除另一个多重集合中出现的元素和它们的个数
multi_set2 = Counter({'orange': 2, 'apple': 1})

multi_set.update(multi_set2)
print(multi_set)  # output: Counter({'orange': 5, 'apple': 3, 'banana': 1})

print(multi_set.most_common(2))  # output: [('orange', 5), ('apple', 3)]

print(list(multi_set.elements()))  # output: ['banana', 'orange', 'orange', 'orange', 'orange', 'orange', 'apple', 'apple', 'apple']

multi_set.subtract(multi_set2)
print(multi_set)  # output: Counter({'orange': 3, 'apple': 2, 'banana': 1})

以上就是Python集合和多重集合的使用方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python 集合和多重集合 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • 解决pyecharts在jupyter notebook中使用报错问题

    接下来我将为你详细讲解如何解决在jupyter notebook中使用pyecharts报错的问题。 步骤一:安装依赖项 在使用pyecharts之前,需要安装一些必要的依赖项,如下所示: pip install pyecharts pip install jupyter notebook pip install notebook 步骤二:安装并启用jupy…

    python 2023年5月13日
    00
  • Python 组对序列元素

    当我们需要将多个数据集合在一起时,Python中提供的列表、元组和集合等数据类型可以很好地满足这种需求。但有时我们需要把多个数据结构合并成一个数据结构并且需要保持原来数据结构的不可变特性。 这时,Python中提供了一种新的数据结构——元组(tuple),元组是不可变的序列,它通过把一些对象按照一定的顺序组合而成。 组对序列元素使用方法可以包括以下几个方面:…

    python-answer 2023年3月25日
    00
  • 减少计数值以重复循环循环不起作用。 python中的for循环有一个异常处理程序,它有一个continue语句

    【问题标题】:Reducing count value to repeat a loop cycle is not working. The for loop in python has an exception handler that has a continue statement减少计数值以重复循环循环不起作用。 python中的for循环有一个异常…

    Python开发 2023年4月6日
    00
  • Python实现Word的读写改操作

    针对“Python实现Word的读写改操作”的完整攻略,可以分为以下几步: 安装Python-docx库 读取Word文件 修改Word文件内容 保存Word文件 下面详细介绍每一步: 1. 安装Python-docx库 Python-docx是一个用于读取、创建、修改Word文档的Python库,可以通过以下命令在命令行中安装: pip install p…

    python 2023年6月3日
    00
  • 浅谈Python的正则表达式

    浅谈Python的正则表达式 正则表达式是一种用于描述字符串模式的语言,它可以用于匹配、查找、替换和割字符串。Python中的re模块提供正则表达式支持,方便进行字符串的处理。本文将浅Python的正则表达式,包括正则表达式语法、re模块的常用函数以及两个常用的匹配实例。 正则表达式语法 正表达式由一些特殊字符和普通字符组成,用于字符串模式。下面是一些常正则…

    python 2023年5月14日
    00
  • Python运维之获取系统CPU信息的实现方法

    下面是详细讲解Python运维中如何获取系统CPU信息的实现方法的完整攻略。 获取系统CPU信息的实现方法 在Python中获取系统CPU信息可以通过psutil模块实现。psutil是一个跨平台库,可以用来获取计算机系统的信息,包括CPU、内存、磁盘、网络等信息,同时还可以对进程进行管理。 下面我们通过两个示例来演示如何使用psutil获取系统CPU信息。…

    python 2023年5月30日
    00
  • spyder快捷键与python符号化输出方式

    下面是关于 ” Spyder快捷键与Python符号化输出方式 ” 的完整攻略: 一、Spyder快捷键 Spyder是一款非常流行的Python IDE,支持许多快捷键。以下是一些常用的快捷键: Ctrl+Enter:执行当前选定的代码或当前光标所在的行。 F5:运行整个脚本。 Ctrl+E:打开编辑器,进行代码编写。 Ctrl+Shift+N:新建一个P…

    python 2023年6月5日
    00
  • 使用Python实现windows下的抓包与解析

    使用Python实现Windows下的抓包与解析可以使用一个名为PyShark的Python抓包库和Wireshark抓包工具实现。下面是完整攻略的步骤: 步骤1:安装Wireshark以及Win32APIs和PyShark库 首先,需要从Wireshark官网下载并安装Wireshark工具。在安装过程中,务必勾选“安装Win32APIs”选项,以确保能够…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部