1. 遍历嵌套字典

sport = {'person': {'name':'焦安静','age':25}, 'sport': '马拉松'}
for name, values in sport.items():print(name,values)if type(values).__name__ == 'dict':for name,value in values.items(): print(name,value)
person {'name': '焦安静', 'age': 25}
name 焦安静
age 25
sport 马拉松
  • dict.items(),以列表返回可遍历的(键, 值) 元组数组
  • dict.keys(),以列表返回一个字典所有的键
  • dict.values(),以列表返回字典中的所有值

2. 判断对象类型两种方法

2.1. isinstance

sport = {'person': {'name':'苏炳添','age':31}, 'sport': '百米'}
for name, values in sport.items():print(name,values)if isinstance(values,dict):for name,value in values.items(): print(name,value)
person {'name': '苏炳添', 'age': 31}
name 苏炳添
age 31
sport 百米

判断其他对象类型,例如List。

a = ['a','b','c']
if isinstance(a ,list):print(a,'list')
['a', 'b', 'c'] list

2.2. type

val1 = sport['person']
type(val1).__name__
'dict'
  • type用于求一个未知数据类型的对象,isinstance用于判断一个对象是否是已知类型;
  • type不认为子类是父类的一种类型,isinstance认为子类是父类的一种类型,即子类对象也属于父类类型.

3. 取字典数据其他方法

通过异常处理,避免不存在的键值对。

sport = {'person': {'name':'苏炳添','age':31}, 'sport': '百米'}
try:for name, values in sport.items():print(name,values)if isinstance(values,dict):for name,value in values.items(): print(name,value)
except:pass
person {'name': '苏炳添', 'age': 31}
name 苏炳添
age 31
sport 百米

直接取嵌套键值数据。

sport = {'person': {'name':'苏炳添','age':31}, 'sport': '百米'}
val = sport['person']['name']
val
'苏炳添'

Python遍历字典及判断对象类型相关推荐

  1. Python天天美味(4) - isinstance判断对象类型

    Python中判度对象类型方法非常简单,不需要像别的语言一样使用如下的判断方法: if (typeof(objA) == typeof(String)) {     //TODO } 在Python中 ...

  2. Python遍历字典、集合与函数

    Python遍历字典.集合与函数 一.遍历字典 代码块 意义 keys() 该⽅法返回字典所有的key values() 该⽅法返回⼀个序列,序列中保存有字典的值 items() 该⽅法会返回字典中所 ...

  3. python 遍历字典

    python 遍历字典 d = {'a': 1, 'b': 2, 'c': 3, 4: 'd', 5: 'e'} for key in d:print(key, ":", d[ke ...

  4. Python遍历字典dict的几种方法(包含两个字典的遍历)

    Python遍历字典dict的几种方法 单个字典的遍历 根据key遍历 示例: dict_map = {1:'hello', 2:'world'} for key in dict_map:print( ...

  5. python遍历字典的5种方法

    python遍历字典5种方法 方法一: 使用字典的键进行遍历. dict={"张三":90,'王五':87,'李四':99} for key in dict:print(" ...

  6. python遍历字典

    python 遍历字典 举例: import numpy as npdata = {'1': [11, 2, 3], '2': [33, 4, 5], '3': [55, 6, 7]} data1 = ...

  7. python判断对象类型_如何查看一个Python对象的类型

    怎么查看一个对象的类型 在Python中有两种类型判断函数,type()和isinstance(). 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判 ...

  8. python观察日志(part5)--判断对象是否为空

    python之判断对象是否为空 判断对象是否为None 要研究这个问题,首先我们要弄清楚,啥是None. ①None表示空值,它是一个特殊 Python 对象, None的类型是NoneType. ② ...

  9. python语言的内置对象类型_Python内置对象类型

    核心数字类型: 数字:int,long,float,complex,bool 字符:str,unicode 列表:list 字典:dict 元组:tuple 文件:file 其他类型:集合(set), ...

最新文章

  1. 转:经典论文翻译导读之《Google File System》
  2. 字库点阵测试程序代码
  3. HDU1164 Eddy's research I【素因子分解】
  4. 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  5. android如何创建spinner组件,Andriod开发之下拉列表控件(Spinner)的用法
  6. 【Spring】Spring 自定义scope
  7. html 复选按钮(input checkbox)
  8. Linux命令解释之vi
  9. java spring 事务提交_Spring 事务提交之后再执行操作
  10. golang 在 windows 下编译出 linux 二进制可执行文件的软件套装合集 [go 1.7.3环境]
  11. git rev-parse 和 git cat-file
  12. Matlab绘制折线图详细方法
  13. 没有自制力的人有什么资格谈努力
  14. 论证可行性有哪几个方面
  15. Java设计模式:抽象工厂
  16. 做不了爱人,我们做什么
  17. ES8(Java API Client)查询详解
  18. CNCERT在FIRST会议关于国内PC被攻击的数据
  19. canal同步mysql到es
  20. linux分区出现hfs,如何在Ubuntu中将HFS分区挂载为读/写?

热门文章

  1. linux编辑文件后怎么保存不了,linux编辑文件后如何保存并退出
  2. Android开发中apk开启sdcard的读写权限
  3. 校园圈子系统-游戏陪玩系统+派单+社交+多人聊天室-源码部署-APP小程序H5
  4. iPhone 4S陷信号门:中移动频段被苹果阉割
  5. 桌面图标变白色解决办法
  6. 联想 android8,联想Moto手机官方升级安卓8.0设备列表大曝光:诚意满满!
  7. 老毛桃U盘工具V2013超级装机版解决…
  8. oracle 修改序列 next number,oracle序列详解
  9. 如何在PowerPoint图表中编辑或删除数据
  10. 看漫画也能学Java?大佬亲自带你进入Java的世界