【人生苦短,我学 Python】基础篇——字典(Day10)
写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我
热爱AI、热爱分享、热爱开源
! 这博客是我对学习的一点总结与记录。如果您也对深度学习、机器视觉、算法、Python、C++
感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github
-> 前往【人生苦短,我学 Python】总目录 <-
文章目录
- 一、字典
- (1) 介绍字典
- (2) 创建字典
- (3) 访问字典
- 二、遍历字典
- (1) 遍历所有的键值对
- (2) 遍历字典中所有的键
- (3) 遍历字典中所有的值
- 三、字典操作
- (1) 增加键值对
- (2) 删除键值对
- (3) 修改字典中的值
- 四、内置函数
- (1) Python内置函数
- (2) Python字典内置方法
一、字典
(1) 介绍字典
在 Python 中, 字典是由一系列的 键 — 值对 构成 。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。在字典中,与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。
在字典中,每个键值对 key:value 用冒号 :
分隔,每个键值对之间用逗号,
分隔,整个字典包括在花括号 {}
中 ,格式如下所示:
dict = {key1 : value1, key2 : value2, key3 : value3}
除此之外,还需要注意的是,字典需严格遵循下面两条规则:
- 键必须是唯一的,但值则不必;
- 值可以取任何数据类型,但键必须是不可变的,只能取如字符串,数字等类型。
(2) 创建字典
1、可以先创建一个空字典,再往里加键和值,演示如下:
dict = {}
dict["name"] = "AI Jun"
dict["major"] = "Computer Vision"
dict["date"] = "2021/2/6"
print(dict)
输出如下:
{'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
2、当然,也可以直接创建,演示如下:
dict = {'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
print(dict)
输出结果:
{'name': 'AI Jun', 'major': 'Computer Vision', 'date': '2021/2/6'}
当然,也可以将键换成数字,如下所示:
dict1 = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
print(dict1)
输出结果:
{1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
(3) 访问字典
在Python中,我们可以根据键访问值,演示如下:
dict1 = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
print("dict1中1对应的值是:", dict1[1])
print("dict1中2对应的值是:", dict1[2])
print("dict1中3对应的值是:", dict1[3])
结果如下:
dict1中1对应的值是: AI Jun
dict1中2对应的值是: Computer Vision
dict1中3对应的值是: 2021/2/6
二、遍历字典
(1) 遍历所有的键值对
一般采用 for 循环来遍历整个字典。为了分别获取键和值,所以需要声明两个变量,用于存储键值对中的键和值。对于这两个变量,可使用任何名称。下面的代码使用的是key和value,如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key, value in dict.items():print(key, value)
使用方法 items() 返回一个键值对列表。接下来, for 循环依次将每个键 — 值对存储到指定的两个变量中。输出如下:
1 AI Jun
2 Computer Vision
3 2021/2/6
注:即便遍历字典时,键值对的返回顺序也与存储顺序不同。 Python 不关心键值对的存储顺序,而只跟踪键和值之间的关联关系。
(2) 遍历字典中所有的键
当不需要使用字典中的值时,我们可以使用 方法keys() 遍历字典中所有的键,并将其一一打印出来,如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key in dict.keys():print(key)
输出结果:
1
2
3
事实上,遍历字典时,会默认遍历所有的键。因此,上述代码中的 for key in dict.keys():
换成for key in dict:
,输出将不变。只是显式地使用方法 keys() 可让代码更容易理解。
注:使用方法title()可使首字母大写,这对于字符串类型的键有用。
(3) 遍历字典中所有的值
当只需要遍历字典中所有的值时,可使用方法 values() ,它返回一个值列表,而不包含任何键。使用方法如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
for key in dict.values():print(key)
输出结果:
AI Jun
Computer Vision
2021/2/6
这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,但如果数据很多,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合set (集合类似于列表,但每个元素都必须是独一无二的)。使用方法如下所示:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6', 4: 'AI Jun'}
for key in set(dict.values()):print(key)
程序输出:
AI Jun
Computer Vision
2021/2/6
注:通过方法set()将values()得到的值列表转换成了集合的形式
三、字典操作
(1) 增加键值对
字典是一种动态结构,可随时在其中添加键值对。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision'}
dict[3] = '2021/2/6'
print(dict)
输出结果:
{1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
(2) 删除键值对
对于字典中不再需要的信息,可使用 del 语句将相应的键值对彻底删除。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
del dict[1]
print(dict)
输出结果:
{2: 'Computer Vision', 3: '2021/2/6'}
(3) 修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。演示如下:
dict = {1: 'AI Jun', 2: 'Computer Vision', 3: '2021/2/6'}
dict[2] = "AI"
print(dict)
输出结果:
{1: 'AI Jun', 2: 'AI', 3: '2021/2/6'}
四、内置函数
(1) Python内置函数
函数 | 描述 |
---|---|
len(dict) | 返回字典元素个数,即键值对的总数 |
str(dict) | 可以使输出字典以打印的字符串表示 |
(2) Python字典内置方法
函数 | 描述 |
---|---|
dict.items() | 以列表的形式返回可遍历的(键, 值) |
dict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
dict.values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
dict.clear() | 删除字典内所有元素,得到的是一个空字典 |
dict.copy() | 返回一个字典的浅复制 |
-> 回到【人生苦短,我学 Python】总目录 <-
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!
【人生苦短,我学 Python】基础篇——字典(Day10)相关推荐
- 杨洋python课程提高篇_杨洋老师《全民一起玩Python 基础篇+提高篇》
全民一起玩Python 基础篇+提高篇 适用人群: 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述: 制作精细.自带吐槽,每节课程 ...
- 杨洋python课程提高篇_杨洋老师:全民一起玩Python 基础篇+提高篇,老师幽默严谨不枯燥的学习编程...
课程介绍 本套课程出自杨洋老师的全民一起玩Python 基础篇+提高篇官网售价299元,程保持了杨洋博士老师幽默严谨不枯燥的学习编程,清晰全面的授课风格,配有丰富的教学演示和插图.动画,是初学者学习P ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
- python包括哪些部分_第一部分 Python基础篇
第⼀一部分 Python基础篇 1. 为什什么学习Python? 朋友推荐,比较简单易学,生态圈比较强大 发展趋势:人工智能.数据分析 2. 通过什什么途径学习的Python? 廖雪峰.网络博客.相关 ...
- 经典Python面试题之Python基础篇
Python基础篇 1. 为什么学习Python? 2. 通过什么途径学习的Python? 3. Python和Java.PHP.C.C#.C++等其他语言的对比? 4. 简述解释型和编译型编程语言? ...
- python删除文件夹无法访问_人生苦短 我学Python——anaconda和Jupyter notebook安装使用...
一.人生苦短 我学Python 为什么学习Python? 1.应用范围广 很多网站是用Python开发的,比如豆瓣,还有YouTube等等. 2.效率高,和其他编程语言对比,可以用少得多的代码写出相同 ...
- Python基础篇(七)
Python基础篇(七) 前言 一.元组 1.1 元组的定义 1.2 元组的常见操作 二.字典 2.1 字典的语法 2.2 字典常见操作 2.3 字典的循环遍历 三.任务清单 3.1 基础练习 3.2 ...
- pythondd_工程脚本插件方案 - c集成Python基础篇
工程脚本插件方案 - c集成Python基础篇 序: 为何要集成脚本,怎样在工程中集成Python脚本. 在做比较大型的工程时,1般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用 ...
- 带你学python基础:列表List
在上一节中带你学python基础:变量和基本数据类型中,已经讲到了列表List如何创建和简单的使用,在这一节中,我们将更加细致入微的了解一下List更多的操作! 一.列表是什么? 列表是什么就是:一个 ...
- 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)
内容回顾 跟运维组学Python基础 day03 格式化输出 %s name = input('Pleases input your name: ') # Zanaoprint('My name is ...
最新文章
- python学到什么程度可以写爬虫-月薪2万的爬虫工程师,Python需要学到什么程度?...
- java事件处理过程分布写_Java 9中的进程处理
- unity UI事件
- 录像的视频如何在画面中实时加上时间戳
- (转)使用Spring注解方式管理事务与传播行为详解
- UVALive 6909 Kevin's Problem 数学排列组合
- php按条件修改xml,php 修改、增加xml结点属性的实现代码
- 【文摘】《创新者》-沃尔特·艾萨克森
- 运算放大器权威指南(第3版) (op amps for everyone)_OP高质量,ED多版本,有钱的动物狂想曲就是能为所欲为...
- Fiddler对安卓模拟器里的APP抓包(步骤详细,各种抓包工具总结)
- java开发autocad_.NET AutoCAD二次开发之路(四、文字篇)
- CIS Benchmarks
- 安卓Android百度输入法皮肤-疯狂码字的快乐-《Write 2022升级版》
- html中的flv视频播放器
- LBM学习讨论群推荐
- lms全称是什么意思_lms是什么意思?
- hulu dpp_什么是直播电视的Hulu,它可以代替您的有线电视订阅吗?
- windows驱动快速入门
- Smarty入门教程一----Smarty的安装
- asp毕业设计——基于asp+access的商品销售网站设计与实现(毕业论文+程序源码)——商品销售网