字典也是我们在做数据分析时经常用到的类型,之前小白有总结过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遍历)相关推荐

  1. 第九章 python 字典(Dict)

    第九章 python 字典(Dict) 9-1 字典基本操作 列表与元组是依序排列可称是序列数据结构,只要知道元素的特定位置,即可使用索引观念取得元素内容,这一章的重点是介绍了字典,它并不是依序排列的 ...

  2. Python字典(dict )的几种遍历方式

    1.使用 for key in dict遍历字典 可以使用for key in dict遍历字典中所有的键 x = {'a': 'A', 'b': 'B'} for key in x:print(ke ...

  3. python字典及嵌套遍历

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 dict1={'apple': ...

  4. 遍历字典_十三、Python字典三种遍历方法

    Python字典是最基本的数据结构之一,在Python中使用非常频繁,所以对Python字典的遍历非常重要.下面介绍常用的几种字典遍历方法. 根据key遍历 d1 = {'姓名': '风清扬', '年 ...

  5. Python 字典初始化dict()和{}

    python字典初始化比较常用的两种方式:dict() 和 {} 性能方面,{}性能更好. 可以通过dist模块,查看两者的字节码: >>> import dis >>& ...

  6. Python字典(dict)与列表(list)与数组(nbarray)详解

    目录 一.字典 声明字典 空字典声明方式 普通声明方式(key:value = 1:1) 在字典里加入新的键值对 字典格式 字典的遍历 普通循环遍历与输出对应key的value 以横向方式遍历每个ke ...

  7. Python 字典(dict)操作(update)、翻转字典

    0. 翻转字典(reverse_dict) word_index = imdb.get_word_index() reverse_word_index = dict([(index, word) fo ...

  8. python字典(dict)合并的操作

    dict介绍: 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,基本 ...

  9. 【Python学习教程】Python列表(list)、元组(tuple)、字典(dict)和集合(set)详解

    文章目录 什么是序列,Python序列详解(包括序列类型和常用操作) 序列索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 和序列相关的内置函数 Python list列表详解 Pytho ...

  10. python dict遍历_Python 容器(二):字典(Dict)

    Python 容器(二):字典(Dict) 一.字典 1.定义:Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有 ...

最新文章

  1. 图形化客户端Navicat介绍和使用
  2. 二次优化问题dfp_优化设计-fmincon函数介绍-序列二次的规划(SQP)-subspacetrustregion-activesett.pdf...
  3. 【在CSDN创作2021年度总结】2021年的第一场雪,来的比以往更早一些
  4. Python: max和min函数的高级使用
  5. spring-boot注解详解(六)
  6. php mysql 随机字符串_MySQL_Mysql 自定义随机字符串的实现方法,前几天在开发一个系统,需要 - phpStudy...
  7. 57javabean简介
  8. Postico —— OS X 上的免费 PostgreSQL 客户端
  9. 太强了!顶尖高校学霸“神仙笔记”刷屏,这10类专业绝了
  10. netcore5开发Android,那些鼓吹国内首个.NET 5框架的,该醒醒了!
  11. 中英文对照 —— 医学与医院
  12. android 渲染yuv数据,Android opengl渲染yuv420例子
  13. 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
  14. 大学计算机案例教程旧照片修复,「教你一招」使用自动软件修复老照片
  15. Vue滑动隐藏图标效果
  16. 可视计算机应用期末考试,职称计算机考试photoshop考试习题复习
  17. VS2010 Ultimate 微软官网免费下载 VS2010终级版
  18. 有奖问卷 | 2022年中国云原生安全调查,邀您来答!
  19. 微信小程序聊天客服工具
  20. n3150 linux 4k,暴风影音N3150小主机硬件介绍和黑群晖体验

热门文章

  1. gitlab解决permission deny问题
  2. 线性代数——基变换和图像压缩
  3. 单商户商城系统功能拆解36—分销应用—分销商
  4. 如何通过组策略控制远程主机空闲时间自动断开并注销
  5. 美信GMSL技术让汽车数据传输更为高效
  6. iOS开发------仿知乎上下滑动切换页面
  7. 对平稳马尔可夫链(stationary distribution of a Markov chain)的学习
  8. 初步接触houdini---零零散散
  9. 一维中值、均值、高斯滤波的MATLBA实现
  10. Java导出word 图片重复