Python 中的集合和字典

yizhihongxing

Python中的集合和字典都是内置数据结构,它们在处理大量数据时提供了高效而强大的工具和方法。

集合

集合(set)是一种可变无序容器,其中没有重复的元素。Python中的集合类似于数学中的集合,支持交集、并集、差集等运算。

创建集合

可以使用 {}set() 来创建集合。注意,如果要创建空集合,必须使用 set(),因为 {} 会创建空字典而不是集合。

# 使用 {} 创建集合
s1 = {'apple', 'banana', 'orange'}
print(s1) # 输出: {'orange', 'banana', 'apple'}

# 使用 set() 创建集合
s2 = set(['apple', 'pear', 'kiwi'])
print(s2) # 输出: {'kiwi', 'pear', 'apple'}

集合操作

与其他容器类似,集合也有诸如 len()in 等基本操作。

s = {1, 2, 3, 4}

# 获取集合大小
print(len(s)) # 输出: 4

# 判断元素是否存在于集合中
print(2 in s) # 输出: True

# 判断元素是否不存在于集合中
print(5 not in s) # 输出: True

集合还支持交集、并集、差集等操作。

s1 = {1, 2, 3}
s2 = {2, 3, 4}

# 取两个集合的交集
print(s1 & s2) # 输出: {2, 3}

# 取两个集合的并集
print(s1 | s2) # 输出: {1, 2, 3, 4}

# 取两个集合的差集
print(s1 - s2) # 输出: {1}

示例

以下是一个使用集合求解两个字符串共同出现的字符的示例。

s1 = set('abacus')
s2 = set('bcdefg')

print(s1 & s2) # 输出: {'c', 'b'}

字典

字典(dictionary)是一种可变的无序容器,用于存储以键(key)- 值(value)对的形式存储数据。Python中的字典支持高效的查找,因为它内部使用哈希表存储数据。

创建字典

字典使用 {}dict() 来创建。每个 key-value 对之间用冒号 : 分隔,多个 key-value 对之间用逗号 , 分隔。

# 使用 {} 创建字典
d1 = {'apple': 3.5, 'banana': 2.5, 'orange': 4}
print(d1) # 输出: {'apple': 3.5, 'banana': 2.5, 'orange': 4}

# 使用 dict() 创建字典
d2 = dict([('apple', 3.5), ('pear', 3.2), ('kiwi', 2.8)])
print(d2) # 输出: {'apple': 3.5, 'pear': 3.2, 'kiwi': 2.8}

字典操作

与其他容器类似,字典也有诸如 len()in 等基本操作。

d = {'apple': 3.5, 'banana': 2.5, 'orange': 4}

# 获取字典大小
print(len(d)) # 输出: 3

# 判断 key 是否存在于字典中
print('apple' in d) # 输出: True

# 判断 value 是否存在于字典中
print(2.5 in d.values()) # 输出: True

字典还支持获取、修改、删除 key-value 对的操作。

d = {'apple': 3.5, 'banana': 2.5, 'orange': 4}

# 获取指定 key 的 value
print(d['apple']) # 输出: 3.5

# 修改指定 key 的 value
d['apple'] = 4
print(d) # 输出: {'apple': 4, 'banana': 2.5, 'orange': 4}

# 删除指定 key-value 对
del d['orange']
print(d) # 输出: {'apple': 4, 'banana': 2.5}

示例

以下是一个使用字典实现计算单词出现频率的示例。

text = 'I have a dream that one day this nation will rise up and live out the true meaning of its creed'
words = text.split()

frequencies = {}
for word in words:
    if word not in frequencies:
        frequencies[word] = 1
    else:
        frequencies[word] += 1

print(frequencies)
# 输出: {'I': 1, 'have': 1, 'a': 1, 'dream': 1, 'that': 1, 'one': 1, 'day': 1, 'this': 1, 'nation': 1, 'will': 1, 'rise': 1, 'up': 1, 'and': 1, 'live': 1, 'out': 1, 'the': 1, 'true': 1, 'meaning': 1, 'of': 1, 'its': 1, 'creed': 1}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 中的集合和字典 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python暴力解压rar加密文件过程详解

    Python暴力解压RAR加密文件过程详解 前言 RAR文件格式是一种常见的压缩文件格式,可以在Windows中的WinRAR等软件中打开和解压。但是,如果RAR文件被加密了,我们就需要密码才能解压。如果你忘记了密码,或者想通过程序暴力破解,那么这篇文章就是为你准备的。 解压RAR加密文件的原理 RAR文件加密采用的是经典的AES加密算法,密码通常为ASCI…

    python 2023年6月3日
    00
  • Python基于多线程实现抓取数据存入数据库的方法

    在本攻略中,我们将介绍如何使用Python基于多线程实现抓取数据并存入数据库。以下是一个完整攻略,包括两个示例。 步骤1:创建数据库 首先,我们需要创建一个数据库来存储抓取的数据。我们可以使用MySQL数据库,也可以使用其他数据库,如PostgreSQL、SQLite等。 以下是一个示例代码,演示如何使用MySQL数据库创建一个名为“test”的数据库: C…

    python 2023年5月15日
    00
  • Python实现对word文档添加密码去除密码的示例代码

    针对“Python实现对word文档添加密码去除密码”的问题,我将从以下三个方面进行讲解: Python操作word文档的库 Word文档添加密码的示例代码 Word文档去除密码的示例代码 1. Python操作word文档的库 Python操作word文档涉及到第三方库的调用,其中比较常用的有python-docx、docxtpl等。这里以python-d…

    python 2023年6月5日
    00
  • python+ffmpeg视频并发直播压力测试

    下面是关于“python+ffmpeg视频并发直播压力测试”的完整攻略。 一、背景介绍 现如今,视频直播已成为互联网最为热门的应用之一,针对在线视频直播服务的性能测试一直是重要的一环。本文将详细介绍如何使用Python语言结合FFmpeg工具进行视频直播并发压力测试。 二、准备工作 安装Python:Python是一种常用的高级编程语言,可在官网下载安装。 …

    python 2023年6月3日
    00
  • python3使用SMTP发送HTML格式邮件

    在Python中,可以使用SMTP库发送电子邮件。本攻略将介绍如何使用SMTP库发送HTML格式的电子邮件。以下是Python3使用SMTP发送HTML格式邮件的详细攻略: 导入SMTP库 首先,需要导入SMTP库。以下是导入SMTP库的示例: import smtplib from email.mime.text import MIMEText from …

    python 2023年5月14日
    00
  • Python实现一个自助取数查询工具

    关于“Python实现一个自助取数查询工具”的攻略,我可以提供以下步骤: 步骤一:确定查询来源 首先,你需要确定你要从哪个数据源获取数据。比如说,你可以从Web API、数据库、网站爬虫等途径获取数据。 步骤二:编写Python爬虫或访问API 如果你从Web API获取数据,你需要用Python编写访问API的代码。如果你需要访问一个需要认证的API,你需…

    python 2023年5月14日
    00
  • Python实现递归遍历文件夹并删除文件

    请参考下方的攻略: Python实现递归遍历文件夹并删除文件 在Python中实现递归遍历文件夹,可以使用os模块提供的os.walk()函数。该函数可遍历指定目录下的所有子目录,使用者可以在回调函数中进行相应的操作,例如删除文件。 os.walk()函数 os.walk()函数用于通过递归遍历文件夹获取目标目录下的所有子目录、文件名及文件夹名。其语法如下:…

    python 2023年6月3日
    00
  • python3.5的包存放的具体路径

    Python3.5的包存放的具体路径一般是/usr/local/lib/python3.5/site-packages,不过在不同的系统或环境下可能会有所不同,以下是获取路径的一些方法。 方法一:使用python解释器自带的方法 可以在Python解释器中使用site包获取包存放路径,具体步骤如下: 打开终端或命令行界面; 执行以下命令: python py…

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