【Python】字典遍历(dict遍历)
字典也是我们在做数据分析时经常用到的类型,之前小白有总结过DataFrame的遍历,这篇博文,小白整理了自己遍历字典时的几种方法。
众所周知,字典是键值对的组合,那么对字典的遍历就自然而然的包含了对键和值的遍历,下面依次介绍遍历键、值,键值三种情况的遍历。
首先,创建一个字典,以便下面的遍历。
dict = {'小明':129,'小兰':148,'小红':89
}
1.遍历key
可以看到,这里对字典key值的遍历,有三种方法,其中第三种方法报错了,这是因为小白使用的是PY3版本,在python3中keys()的方法替代了iterkeys()方法,如果是用python2版本是可以的,不过小白建议掌握python3里的方法,毕竟python2之后用的会越来越少。
#function1
for key in dict:print (key)
---------------结果---------------------
小明
小兰
小红#function2
for key in dict.keys():print (key)---------------结果---------------------
小明
小兰
小红#function3
for key in dict.iterkeys():print (key)---------------结果-----------------------
AttributeError Traceback (most recent call last)
<ipython-input-10-e1bc6c7e42fe> in <module>1 2 #方法三
----> 3 for key in dict.iterkeys():4 print (key)AttributeError: 'dict' object has no attribute 'iterkeys'
2.遍历value
同样,第二种方式报错的原因是一样的,python3中去掉了第二种方式,以方法一来代替,这里遍历value时和遍历key不一样,这里没有像遍历key时的第一种方法了,遍历key的第一种方法,默认输出就是key
#function1
for value in dict.values():print (value)
------------------------
129
148
89#function2
for value in dict.itervalues():print (value)-----------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-92a1ef0f19df> in <module>
----> 1 for value in dict.itervalues():2 print (value)AttributeError: 'dict' object has no attribute 'itervalues'
3.同时遍历key和value
同时遍历的方法比较多,我们一一来看:
(1)首先看方法一和方法二,其实这两种方法是差不多的,只是加不加括号的区别,这个可以根据喜好来选择。
(2)然后看方法三,方法三使用简写的方式实现了对key和value的读取,形式上更加简便
(3)再看结合zip使用的两种方法,其实方法四更像方法一和二,只是多了一个zip操作,方法五更加像方法三,也是使用了zip函数
注意:另外,我们来看下关于key,value方式和kv方式的区别,在方法四和五时,小白输出了数据的类型,两种方式的区别就主要在于输出数据的数据类型,key,value方式输出的是值本身,数据是什么类型,结果就是什么类型,但是方法五输出的tuple类型。
#function1
for key,value in dict.items():print ('key: ',key,'value: ',value)
------------------------
key: 小明 value: 129
key: 小兰 value: 148
key: 小红 value: 89#function2
for (key,value) in dict.items():print ('key: ',key,'value: ',value)
------------------------
key: 小明 value: 129
key: 小兰 value: 148
key: 小红 value: 89#function3
for kv in dict.items():print ('kv is : ',kv)
------------------------
kv is : ('小明', 129)
kv is : ('小兰', 148)
kv is : ('小红', 89)----------------------结合zip使用---------------------
#function4
for key,value in zip(dict.keys(), dict.values()):print ('key:',key,'value: ',value)print('type key:',type(key),'type value:',type(value))
------------------------
key: 小明 value: 129
type key: <class 'str'> type value: <class 'int'>
key: 小兰 value: 148
type key: <class 'str'> type value: <class 'int'>
key: 小红 value: 89
type key: <class 'str'> type value: <class 'int'>#function5
for kv in zip(dict.keys(), dict.values()):print ('kv: ',kv)print('type:',type(kv))
------------------------
kv: ('小明', 129)
type: <class 'tuple'>
kv: ('小兰', 148)
type: <class 'tuple'>
kv: ('小红', 89)
type: <class 'tuple'>
4.定义方法读取key和value
上面介绍了读取key和value的方法,那么,如果我们在一个项目中要对key和value读取,还是定义成方法来读取,输出结果,这样便于我们的调用以及后面的使用,如下:
#定义读key值的函数
def keys_function(dict):keys = []#读出keyfor k in dict.keys():keys.append(format(k))return keys
#定义读出value
def values_function(dict):values = []for v in dict.values():values.append(format(v))return valuesprint('key:',keys_function(dict),'type:',type(keys_function(dict)))
------------结果--------------
key: ['小明', '小兰', '小红'] type: <class 'list'>print('value:',values_function(dict),'type:',type(values_function(dict)))
------------结果--------------
value: ['129', '148', '89'] type: <class 'list'>
【Python】字典遍历(dict遍历)相关推荐
- 第九章 python 字典(Dict)
第九章 python 字典(Dict) 9-1 字典基本操作 列表与元组是依序排列可称是序列数据结构,只要知道元素的特定位置,即可使用索引观念取得元素内容,这一章的重点是介绍了字典,它并不是依序排列的 ...
- Python字典(dict )的几种遍历方式
1.使用 for key in dict遍历字典 可以使用for key in dict遍历字典中所有的键 x = {'a': 'A', 'b': 'B'} for key in x:print(ke ...
- python字典及嵌套遍历
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 dict1={'apple': ...
- 遍历字典_十三、Python字典三种遍历方法
Python字典是最基本的数据结构之一,在Python中使用非常频繁,所以对Python字典的遍历非常重要.下面介绍常用的几种字典遍历方法. 根据key遍历 d1 = {'姓名': '风清扬', '年 ...
- Python 字典初始化dict()和{}
python字典初始化比较常用的两种方式:dict() 和 {} 性能方面,{}性能更好. 可以通过dist模块,查看两者的字节码: >>> import dis >>& ...
- Python字典(dict)与列表(list)与数组(nbarray)详解
目录 一.字典 声明字典 空字典声明方式 普通声明方式(key:value = 1:1) 在字典里加入新的键值对 字典格式 字典的遍历 普通循环遍历与输出对应key的value 以横向方式遍历每个ke ...
- Python 字典(dict)操作(update)、翻转字典
0. 翻转字典(reverse_dict) word_index = imdb.get_word_index() reverse_word_index = dict([(index, word) fo ...
- python字典(dict)合并的操作
dict介绍: 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,基本 ...
- 【Python学习教程】Python列表(list)、元组(tuple)、字典(dict)和集合(set)详解
文章目录 什么是序列,Python序列详解(包括序列类型和常用操作) 序列索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 和序列相关的内置函数 Python list列表详解 Pytho ...
- python dict遍历_Python 容器(二):字典(Dict)
Python 容器(二):字典(Dict) 一.字典 1.定义:Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有 ...
最新文章
- 图形化客户端Navicat介绍和使用
- 二次优化问题dfp_优化设计-fmincon函数介绍-序列二次的规划(SQP)-subspacetrustregion-activesett.pdf...
- 【在CSDN创作2021年度总结】2021年的第一场雪,来的比以往更早一些
- Python: max和min函数的高级使用
- spring-boot注解详解(六)
- php mysql 随机字符串_MySQL_Mysql 自定义随机字符串的实现方法,前几天在开发一个系统,需要 - phpStudy...
- 57javabean简介
- Postico —— OS X 上的免费 PostgreSQL 客户端
- 太强了!顶尖高校学霸“神仙笔记”刷屏,这10类专业绝了
- netcore5开发Android,那些鼓吹国内首个.NET 5框架的,该醒醒了!
- 中英文对照 —— 医学与医院
- android 渲染yuv数据,Android opengl渲染yuv420例子
- 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
- 大学计算机案例教程旧照片修复,「教你一招」使用自动软件修复老照片
- Vue滑动隐藏图标效果
- 可视计算机应用期末考试,职称计算机考试photoshop考试习题复习
- VS2010 Ultimate 微软官网免费下载 VS2010终级版
- 有奖问卷 | 2022年中国云原生安全调查,邀您来答!
- 微信小程序聊天客服工具
- n3150 linux 4k,暴风影音N3150小主机硬件介绍和黑群晖体验