Python学习之字典和集合的使用详解

Python学习之字典和集合的使用详解

一、字典

字典是Python中一种重要的数据结构,也是我们常用的一种数据结构。它是一种保存着键值对的数据结构,每个键对应着一个值。要创建一个空字典,可以使用 dict() 函数;要创建一个非空字典,可以使用花括号 {} 括起来,里面用逗号分隔键值对,格式为 "key:value"。

例如,创建一个字典d,它包含一个键值对,键名为"a",键值为1:

d = {"a":1}

1. 字典的常用操作

1.1. 获取字典的长度

可以使用len()函数来获取字典的长度

例如,获取字典d的长度:

print(len(d)) # 输出 1

1.2. 获取字典中的值

可以使用中括号 [] 来获取字典中的值。

例如,获取字典d中键名为"a"的键值:

print(d["a"]) # 输出 1

1.3. 修改字典中的值

可以使用中括号 [] 来修改字典中的值。

例如,将字典d中键名为"a"的键值修改为2:

d["a"] = 2
print(d) # 输出 {'a': 2}

1.4. 添加字典中的键值对

可以使用中括号 [] 来添加字典中的键值对。

例如,向字典d中添加一个键名为"b",键值为3的键值对:

d["b"] = 3
print(d) # 输出 {'a': 2, 'b': 3}

1.5. 删除字典中的键值对

可以使用 del 关键字删除字典中的键值对。

例如,从字典d中删除键名为"a"的键值对:

del d["a"]
print(d) # 输出 {'b': 3}

2. 字典的遍历

2.1. 遍历字典的键

可以使用 keys() 方法获取字典的所有键,再使用 for 循环遍历所有键。

例如,遍历字典d的所有键:

for key in d.keys():
    print(key)

2.2. 遍历字典的值

可以使用 values() 方法获取字典的所有值,再使用 for 循环遍历所有值。

例如,遍历字典d的所有值:

for value in d.values():
    print(value)

2.3. 遍历字典的键值对

可以使用 items() 方法获取字典的所有键值对,再使用 for 循环遍历所有键值对。

例如,遍历字典d的所有键值对:

for key, value in d.items():
    print(key, value)

二、集合

集合和列表、元组等常用数据结构在一起使用。集合支持数学中集合的基本操作,如交集、并集、差集等。

1. 创建集合

可以使用花括号 {} 或 set() 函数创建集合。注意,创建空集合时必须使用 set(),因为{}创建的是空字典。

例如,创建一个非空集合 s,包含元素1、2、3:

s = {1, 2, 3}

2. 集合的操作

2.1. 获取集合的长度

可以使用 len() 函数获取集合的长度。

例如,获取集合s的长度:

print(len(s)) # 输出 3

2.2. 判断元素是否在集合中

可以使用 innot in 运算符判断元素是否在集合中。

例如,判断元素2是否在集合s中:

print(2 in s) # 输出 True

2.3. 集合的基本操作

可以使用集合的基本运算符进行数学中的集合操作,如交集(&)、并集(|)、差集(-)、补集(^)等。

例如,集合 A 和 B:

A = {1, 2, 3}
B = {2, 3, 4}

求 A 和 B 的交集:

print(A & B) # 输出 {2, 3}

求 A 和 B 的并集:

print(A | B) # 输出 {1, 2, 3, 4}

求 A 和 B 的差集:

print(A - B) # 输出 {1}

2.4. 遍历集合

可以使用 for 循环遍历集合中的元素。

例如,遍历集合s中的所有元素:

for element in s:
    print(element)

三、示例说明

1. 字典示例:统计字符串中每个字符出现的次数

str = "hello, world!"
d = {}
for c in str:
    if c in d.keys():
        d[c] = d[c] + 1
    else:
        d[c] = 1
print(d) # 输出 {'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1}

这个代码片段统计了字符串中每个字符出现的次数,将结果保存在字典d中。

2. 集合示例:去重

list = [1, 2, 3, 2, 4, 3]
s = set(list)
print(s) # 输出 {1, 2, 3, 4}

这个代码片段使用了集合的特性,将列表中的重复元素去掉。

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

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

相关文章

  • Python collections.defaultdict模块用法详解

    Python collections.defaultdict模块用法详解 概述 Python中的collections模块提供了一种名为defaultdict的数据类型,它是一个子类(dict class)。 这意味着defaultdict类继承了dict类中所有的方法,而且还有自己的实现。在使用defaultdict时,如果字典中的键不存在,它可以自动创建…

    python 2023年6月3日
    00
  • Python数据存储之 h5py详解

    Python 数据存储之 h5py详解 简介 h5py是Python中用于读取和写入HDF5文件格式数据的软件包,HDF指的是层次型数据格式(HDF: Hierarchical Data Format),主要用于存储和管理大数据集和复杂数据对象的工具。 h5py能够读写HDF5文件,并具有简单、自然和Pythonic的API。它支持Numpy数组、Pytho…

    python 2023年6月2日
    00
  • 用python + openpyxl处理excel2007文档思路以及心得

    下面是详细讲解“用python+openpyxl处理excel2007文档思路以及心得”的完整实例教程。 一、背景介绍 在日常工作中,我们经常会使用excel表格来处理、分析和展示数据。而python的数据处理能力也非常强大,因此将python和excel结合使用,可以使我们的数据处理更加高效、便捷。本教程将介绍如何使用python的开源库openpyxl来…

    python 2023年5月13日
    00
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理

    浅析python实现布隆过滤器及Redis中的缓存穿透原理 什么是布隆过滤器 布隆过滤器是一种用于快速判断一个元素是否存在于一个集合中的数据结构。它使用一定数量的位数组和几个Hash函数来实现。 Python实现布隆过滤器 Python中实现布隆过滤器可以使用Bitarray库,该库提供了高效的位数组操作。 实现步骤如下: 1. 安装依赖库bitarray …

    python 2023年6月6日
    00
  • pydantic resolve解决嵌套数据结构生成痛点分析

    下面我将详细讲解“pydantic resolve解决嵌套数据结构生成痛点分析”的完整攻略。 什么是Pydantic Pydantic是一种Python数据验证和解析库,可用于验证API请求和响应等场景,它具有如下特点: 基于类型提示 自动数据转换和验证 支持嵌套模型 支持自定义验证、数据转换和映射等 痛点分析 在Python编程中,一些数据结构是嵌套的,例…

    python 2023年6月6日
    00
  • Python数据可视化之基于pyecharts实现的地理图表的绘制

    下面是“Python数据可视化之基于pyecharts实现的地理图表的绘制”的完整攻略。 1. 前置条件 Python 3.x 环境 安装 pyecharts 2. pyecharts简介 pyecharts 是一个用于数据可视化的 Python 库,它基于 ECharts 实现。ECharts 是一款由百度前端开发团队推出的开源可视化库,支持多种类型的图表…

    python 2023年6月6日
    00
  • python快排算法详解

    以下是关于“Python实现的快速排序算法详解”的完整攻略: 简介 快速排序是一种常见的排序算法,它的时间复杂度为O(nlogn)。在本教程中,我们将介绍如何使用Python实现快速排序算法,包括快速排序的基本原理、快速排序的实现方法、快速排序的优化等。 快速排序的基本原理 快速排序的基本原理是通过分治的思想将一个大问题分解为多个小问题,并将小问题的解合并成…

    python 2023年5月14日
    00
  • 使用python进行文本预处理和提取特征的实例

    针对“使用Python进行文本预处理和提取特征的实例”,我们可以按照以下步骤进行: 1. 数据收集 首先我们需要收集数据,可以从已有的数据集中获取,或使用爬虫程序从网络上抓取数据。 2. 文本清理 在进行文本预处理之前,我们需要将原始文本进行清理。这包括: 去除HTML标签:如果数据集是从网络上获取的,那么很可能含有HTML标签。我们可以使用Python中的…

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