Python中字典及其使用
文章目录
- 前言
- 一、使用字典
- 1.访问字典中的值
- 2.在字典中添加键值对
- 3.修改字典中的值
- 4.删除字典中的键值对
- 5.由类似对象组成的字典
- 二、遍历字典
- 1.遍历字典中的所有键值对
- 2.遍历字典中的所有键
- 3.遍历字典中的所有值
- 三、嵌套
- 1.字典列表
- 2.在字典中嵌套列表
- 3.在字典中嵌套字典
- 总结
前言
本文的主要内容是介绍Python中字典及其使用,包括使用字典(添加、删除、修改等操作)、遍历字典以及字典与列表之间的嵌套使用,文中附有代码以及相应的运行结果辅助理解。
一、使用字典
在Python中,字典用放在花括号{}中的一系列键值对表示,键和值之间用冒号分隔,而键值对之间用逗号分隔,每个键都与一个值相关联,你可以使用键来访问与之相关联的值,与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。
1.访问字典中的值
字典是由一系列键值对组成的,要访问字典中的值,就需要知道字典的名称,想要访问的字典键名。
下面是一个访问字典中值的例子。
fruit = {'name': 'apple', 'color': 'red', 'num': 5} #有三个键值对的字典
print('name: ' + fruit['name']) #打印每个键所对应的值
print('color: ' + fruit['color'])
print('num: ' + str(fruit['num']))
运行结果如下图所示。
2.在字典中添加键值对
字典是一种动态结构,可以添加键值对,依次指定字典名、用方括号括起的键和相关联的值即可完成添加。
下面是在字典中添加键值对的例子。
fruit = {} #创建一个空字典
print('1.fruit = ' + str(fruit))
fruit['name'] = 'apple' #依次添加键值对
print('2.fruit = ' + str(fruit))
fruit['color'] = 'red'
print('3.fruit = ' + str(fruit))
fruit['num'] = 5
print('4.fruit = ' + str(fruit))
运行结果如下图所示。
3.修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。
下面是修改字典中值的例子。
fruit = {'name': 'apple', 'color': 'red', 'num': 5}
print('Before modify: fruit = ' + str(fruit))fruit['color'] = 'green' #修改键名为'color'的值
fruit['num'] = 20 #修改键名为'num'的值
print('After modify: fruit = ' + str(fruit))
运行结果如下图所示。
4.删除字典中的键值对
对于字典中需要删除的键值对,可使用del语句将相应的键值对彻底删除,使用del语句时需要指定字典名和要删除的键。
下面是删除字典中的键值对的例子。
fruit = {'name': 'apple', 'color': 'red', 'num': 5}
print('Before delete: fruit = ' + str(fruit))del fruit['color'] #删除键名为'color'的键值对
print('After delete: fruit = ' + str(fruit))
运行结果如下图所示。
5.由类似对象组成的字典
在前面的例子中,字典存储的是一个对象的多种信息,当然字典也可以存储多个对象的同一种信息。
下面是由类似对象组成字典的例子。
favorite_fruit = {'A': 'apple','B': 'orange','C': 'banana',
}
print("A's favorite fruit is " + favorite_fruit['A'] + ".")
print("B's favorite fruit is " + favorite_fruit['B'] + ".")
print("C's favorite fruit is " + favorite_fruit['C'] + ".")
运行结果如下图所示。
二、遍历字典
1.遍历字典中的所有键值对
遍历字典中的所有键值对使用的主要语句如下。
for key, value in name.items() ——其中key,value可以自己指定,name是字典名。
下面是遍历字典中的所有键值对的例子。
favorite_fruit = {'A': 'apple','B': 'orange','C': 'banana',
}for name, fruit in favorite_fruit.items(): #遍历字典中的所有键值对print(name + "'s favorite fruit is " + fruit + ".")
运行结果如下图所示。
可以看到,运行结果与三条print语句的输出是相同的。
2.遍历字典中的所有键
遍历字典中的所有键使用的主要语句如下。
for key in name.keys() ——其中key可以自己指定,name是字典名。
for key in name ——也可以省略.keys(),输出是一样的。
for key in sorted(name.keys()) ——按顺序遍历字典中所有的键。
下面是遍历字典中的所有键的例子。
favorite_fruit = {'B': 'apple','D': 'orange','C': 'banana','A': 'pear',
}print('1. With .keys() output:')
for name in favorite_fruit.keys(): #遍历字典中所有的键print(name)print('2. Without .keys() output:') #遍历字典中所有的键——省略.keys()
for name in favorite_fruit:print(name)print('3. sorted() output:')
for name in sorted(favorite_fruit.keys()): #按顺序遍历字典中所有的键print(name)
运行结果如下图所示。
由输出结果可知,加入sorted()函数后,键名果然是顺序输出的。
3.遍历字典中的所有值
遍历字典中的所有值使用的主要语句如下。
for value in name.values() ——其中value可以自己指定,name是字典名。
for value in set(name.values()) ——可以筛除掉value中的重复值。
下面是遍历字典中的所有值的例子。
favorite_fruit = {'B': 'apple','D': 'orange','C': 'banana','A': 'apple',
}print('1. All values output:')
for fruit in favorite_fruit.values(): #遍历字典中所有的值print(fruit)print('2. With sorted() output:')
for fruit in sorted(favorite_fruit.values()): #按顺序遍历字典中所有的值print(fruit)print('3. With set() output:')
for fruit in set(favorite_fruit.values()): #剔除重复的值print(fruit)
运行结果如下图所示。
由输出结果可知,加入set()函数后,输出的值是无序的,这是正常的,输出的值也确实没有重复的。
三、嵌套
有时候需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这样的操作称为嵌套,可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。
1.字典列表
字典用于描述一个对象的多个特征,多个对象就需要多个字典,然后再把所有的字典存储在一个列表里,我们遍历列表即可遍历所有的对象及其对应的特征。
下面是字典列表的例子。
fruit_1 = {'name': 'apple', 'color': 'red', 'num': 15}
fruit_2 = {'name': 'banana', 'color': 'yellow', 'num': 10}
fruit_3 = {'name': 'watermelon', 'color': 'green', 'num': 20}
fruits = [fruit_1, fruit_2, fruit_3] #将所有的字典存储在列表里
for fruit in fruits: #遍历列表print(fruit)
运行结果如下图所示。
下面是相对复杂的一个应用例子。
fruits = [] #创建一个空列表
for fruit_num in range(0,5): new_fruit = {'name': 'apple', 'color': 'red', 'num': 10}fruits.append(new_fruit)print('Before modify:')
for fruit in fruits: #遍历列表print(fruit)for fruit in fruits[:2]: #修改列表中前2个元素的字典属性if fruit['color'] == 'red':fruit['color'] = 'green'fruit['num'] = 20print('After modify:')
for fruit in fruits: #遍历列表print(fruit)
运行结果如下图所示。
2.在字典中嵌套列表
每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。
下面是在字典中嵌套列表例子。
favorite_fruit = { #在字典中嵌套列表'A': ['apple', 'mango'],'B': ['orange'],'C': ['banana', 'pear'],
}for name, fruits in favorite_fruit.items(): #遍历字典中的键值对if len(fruits) == 1: #列表的长度为1print(name+ "'s favorite fruits is :")for fruit in fruits: #遍历字典中的列表print("\t" + fruit)else: #列表的长度大于1print(name + "'s favorite fruits are :")for fruit in fruits:print("\t" + fruit)
运行结果如下图所示。
3.在字典中嵌套字典
有时候需要在字典中嵌套字典以更好的完成编程任务,比如某个网站有多个用户,每个用户都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。
下面是在字典中嵌套字典例子。
users ={ #在字典中嵌套字典'user_1': {'first_name': 'lebron','last_name': 'james',},'user_2': {'first_name': 'kobe','last_name': 'bryant',},'user_3': {'first_name': 'kevin','last_name': 'durant',},
}
for user, userinfo in users.items(): #遍历字典print(user + "'s name is " + userinfo['first_name'].title() + ' ' + userinfo['last_name'].title()+'.')
运行结果如下图所示。
总结
以上就是Python中字典及其使用的所有内容了,学会使用字典和遍历字典是最基础的操作,字典与列表的嵌套是重点也是难点所在,应当多加练习掌握其关键之处,以便在以后的编程中熟练运用。
本文参考书目:Python 编程 :从入门到实践 / (美) 埃里克•马瑟斯(Eric Matthes)著;袁国忠译
Python中字典及其使用相关推荐
- python中字典按键或键值排序
字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排 ...
- python中字典和集合的区别_Python中字典和集合学习小结
映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...
- python英语字典程序修改_详解如何修改python中字典的键和值
我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...
- Python中字典对象实现原理
python中字典对象实现原理 注:字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1) 字典是Python的一种可变 ...
- python中字典的几种定义方式
python中字典的定义方式有很多种,下面给出其中一些方式: 方式1 >>> d = dict(name='Bob', age=20, score=88) >>> ...
- python中可以作为定界符_在 Python 中,字典和集合都是用一对 作为定界符,字典的每个元素有两部分组成,即 和 ,其中 不允许重复。_学小易找答案...
[多选题]路由器A的G0/0/1接口配置信息如下,下列说法正确的有?(多选) acl number 3000 rule 5 deny 17 rule 10 deny 89 rule 15 deny 6 ...
- 【Python】Python实战从入门到精通之四 -- 教你使用Python中字典
本文是Python实战–从入门到精通系列的第四篇文章: Python实战从入门到精通第一讲–Python中的变量和数据类型 Python实战从入门到精通第二讲–Python中列表操作详解 Python ...
- python中字典使用_python中字典的使用
python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'co ...
- python中字典按键或键值排序_[宜配屋]听图阁
字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排 ...
- [转载] python中字典中追加_python 中字典中的删除,pop 方法与 popitem 方法
参考链接: Python字典popitem() 1.pop 方法:删除指定的键值对,最后返回的是删除键的值. 2.popitem 方法:每次删除字典中的最后一个键值对,返回这个删除的键值对. 3.cl ...
最新文章
- 微软服务器sql server,解析:微软SQL Server 2008特性和功能
- [转]div 让文字或图片居中
- 在Jetson Xavier NX上安装pycuda报错:src/cpp/cuda.hpp:14:10: fatal error: cuda.h: No such file or directory
- Zookeeper内部的简单细节(一)
- QT读取Word文档
- 服务器显卡驱动修复,AMD发布2020年首个显卡驱动:一口气修复27个Bug
- 一图读懂基于鲲鹏处理器的全栈混合云华为云Stack6.5
- 查看Json的结构及内容:JsonViewerPackage
- 【面试】基于二叉树层次遍历相关问题的求解
- linux ape,Linux下APE歌曲的制作
- CSS固定定位(position: fixed;/background-attachment: fixed;)
- camera 测光模式 和 实际应用
- 你在工作中遇到过印象深刻的困难是什么,你怎么克服的?
- wifi模块服务器项目心得,一次关于WiFi 驱动移植的总结复盘
- 系统工程(SE)学习笔记(四)——系统架构设计
- 百度地图离线开发需求介绍
- Flash Android ANE 打包流程及使用方法
- 蓄电池电压检测单元 电池监控模块 24路电池电压采样模块电源检测
- [Swift]LeetCode976. 三角形的最大周长 | Largest Perimeter Triangle
- [实用技巧] (转帖)关于MyDocument.exe -- 打印店病毒
热门文章
- 9月VR大数据:Quest 2串流份额大幅下跌,App Lab应用超1400款
- Python金融学基础——夏普比率(Sharpe-ratio)和资产组合价值(portfolio-value)
- 基于asp.net737教学质量评价系统(评教)
- 零依赖监控解决方案:TDengine+Grafana落地实施
- 修改字符串指定范围的颜色
- 计算机组装与维护实训指导书,《计算机组装与维护实训指导书.doc
- 苹果电脑录屏怎么录内部声音?图文教学,1分钟快速学会
- 教你用树莓派Python打造一个音乐播放器
- 德国慕尼黑工业大学计算机学院,德国哪些大学有英文授课?慕尼黑工业大学有吗?...
- 米软CSV编辑查看工具,一款支持身份证号码的 CSV 免费编辑器