Python 中的集合和字典

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 实现大整数乘法算法的示例代码

    下面是详细讲解“Python实现大整数乘法算法的示例代码”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 大数乘法算法是指对于两大整数,采用分治法的思想,将其分别拆分成高位和低位两部分,然后递归地计算出们的乘积,最后将结果合并得到最终的乘积。具体步骤如下: 将两个大整数分别拆成高位和低位两部分; 递归地计算出高位和低位的乘积; 将高位和…

    python 2023年5月14日
    00
  • python+requests实现接口测试的完整步骤

    以下是关于使用Python和requests实现接口测试的完整步骤: Python+requests实现接口测试的完整步骤 requests是Python中一个流行的HTTP库,可以用于向Web服务器发送HTTP请求和接收响应。以下是使用Python和requests实现接口测试的完整步骤: 步骤一:编写测试用例 首先,我们需要编写测试用例,包括请求的URL…

    python 2023年5月14日
    00
  • 跟老齐学Python之从if开始语句的征程

    跟老齐学Python是一种极具实用性的学习方式,它以实战案例为基础,帮助初学者逐步掌握Python语言。本文将从if开始语句的角度,介绍跟老齐学Python的完整攻略。 1. 跟老齐学Python的课程简介 跟老齐学Python是一种基于案例式教学,以实战案例为基础,帮助初学者逐步掌握Python语言的教学方法。在教学过程中,老齐会根据不同的应用场景,讲解P…

    python 2023年6月5日
    00
  • python如何读写json数据

    当使用Python处理JSON数据时,我们通常会涉及到读取JSON数据和将Python数据转为JSON格式的两种情况。下面是Python读写json数据的详细攻略: 1. 读取JSON数据 首先,打开JSON文件并读取其内容是非常简单的。可以使用Python内置的json模块来完成此操作。下面是一个简单的示例代码,说明如何读取已有JSON数据: import…

    python 2023年5月13日
    00
  • 使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示

    要在Python的matplotlib模块中设置横纵坐标轴数值以百分比(%)显示,可以按照以下步骤进行操作: 步骤一:导入必要的模块 首先,我们需要导入必要的Python模块,包括matplotlib库和numpy库。我们可以使用以下代码进行导入: import matplotlib.pyplot as plt import numpy as np 步骤二:…

    python 2023年5月18日
    00
  • python中的Pyperclip模块功能详解

    Python中的Pyperclip模块功能详解 Pyperclip是一个Python模块,它可以让你轻松地复制和粘贴文本到剪贴板。Pyperclip模块可以在Windows、Mac OS X和Linux上使用,并且可以Python2和Python 3兼容。本文将详细讲解Pyperclip模块的用法和注意事项,并提供两个示例来说明Pyclip的使用。 Pype…

    python 2023年5月14日
    00
  • Python使用当前时间、随机数产生一个唯一数字的方法

    要使用Python生成一个唯一数字,可以结合当前时间和随机数来实现。下面是具体步骤: 首先,需要导入Python中的random和datetime模块。可以使用以下代码: python import random import datetime 接着,需要获取当前时间,并格式化为字符串。我们可以使用datetime模块中的strftime()函数,将当前时间…

    python 2023年6月2日
    00
  • Python循环实现n的全排列功能

    实现n的全排列功能的常用算法是回溯算法,其基本思路为在每一层搜索时枚举该层可以选择的元素,满足条件的元素进入下一层搜索,不满足条件的元素回溯至上一层继续搜索。在Python中可用循环实现回溯算法求解n的全排列,具体过程如下。 引入模块 import itertools 确定参数 n = 3 生成全排列 nums = [i+1 for i in range(n…

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