python逐行打印_如何用Python逐行打印字典?
处理任意深度嵌套的dict和list的更通用的解决方案是:def dumpclean(obj):
if isinstance(obj, dict):
for k, v in obj.items():
if hasattr(v, '__iter__'):
print k
dumpclean(v)
else:
print '%s : %s' % (k, v)
elif isinstance(obj, list):
for v in obj:
if hasattr(v, '__iter__'):
dumpclean(v)
else:
print v
else:
print obj
这将产生输出:A
color : 2
speed : 70
B
color : 3
speed : 60
我遇到了类似的需求,并开发了一个更健壮的函数作为自己的练习。我把它放在这里,以防对别人有价值。在运行nosetest时,我还发现能够在调用中指定输出流以便可以使用sys.stderr也很有帮助。import sys
def dump(obj, nested_level=0, output=sys.stdout):
spacing = ' '
if isinstance(obj, dict):
print >> output, '%s{' % ((nested_level) * spacing)
for k, v in obj.items():
if hasattr(v, '__iter__'):
print >> output, '%s%s:' % ((nested_level + 1) * spacing, k)
dump(v, nested_level + 1, output)
else:
print >> output, '%s%s: %s' % ((nested_level + 1) * spacing, k, v)
print >> output, '%s}' % (nested_level * spacing)
elif isinstance(obj, list):
print >> output, '%s[' % ((nested_level) * spacing)
for v in obj:
if hasattr(v, '__iter__'):
dump(v, nested_level + 1, output)
else:
print >> output, '%s%s' % ((nested_level + 1) * spacing, v)
print >> output, '%s]' % ((nested_level) * spacing)
else:
print >> output, '%s%s' % (nested_level * spacing, obj)
使用此函数,OP的输出如下所示:{
A:
{
color: 2
speed: 70
}
B:
{
color: 3
speed: 60
}
}
我个人认为这更有用,更具描述性。
举一个不那么简单的例子:{"test": [{1:3}], "test2":[(1,2),(3,4)],"test3": {(1,2):['abc', 'def', 'ghi'],(4,5):'def'}}
OP请求的解决方案产生以下结果:test
1 : 3
test3
(1, 2)
abc
def
ghi
(4, 5) : def
test2
(1, 2)
(3, 4)
而“增强”版本会产生以下结果:{
test:
[
{
1: 3
}
]
test3:
{
(1, 2):
[
abc
def
ghi
]
(4, 5): def
}
test2:
[
(1, 2)
(3, 4)
]
}
我希望这能为下一个寻找此类功能的人提供一些价值。
python逐行打印_如何用Python逐行打印字典?相关推荐
- python md5加密_如何用python“优雅”的调用有道翻译?
前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...
- 用python画耳朵_如何用python画猪头
用python画猪头的方法:首先设置画布和画笔,代码为[a.screensize(400,300)a.setup(width=400,height=300)]:然后画脸型,代码为[.goto(-100 ...
- python怎么读_如何用Python读写文件
前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...
- python旅游推荐系统_如何用Python搭建一个简单的推荐系统?
推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统. 本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小 ...
- 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数
如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...
- python读取二进制文件_如何用python读取二进制文件?
我发现用Python读取二进制文件特别困难.你能帮我一把吗?我需要读取这个文件,在Fortran 90中,该文件很容易被int*4 n_particles, n_groups real*4 group ...
- python求平均值_如何用python求平均值
学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...
- python小助手_如何用python写个人专属群聊提醒小助手?
前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...
- 如何用python计算圆周率_如何用python计算圆周率?
如何用python计算圆周率? python计算圆周率的方法: 圆周率没有精确的计算公式,所以只能用近似的方式计算它的近似值. 我们运用蒙特卡罗方法,思路很简单,在下面图形中随机抛置大量的点, 计算落 ...
- python做网站开发_如何用Python做网站开发
很多人想要用Python做网站开发,但是又不知从何入手,接下来小编介绍用Python做网站开发需要学习哪些知识,又应该以什么样的顺序来学. 第一步:HTML(超文本标记语言)是网页的核心,学好HTML ...
最新文章
- Python-Requests.post方法中,传参data与json的区别
- 在windows中手动安装第三方模块
- idea卸载不干净怎么办_fxfactory卸载不干净?Fxfactory及插件卸载教程
- centos 多台 文件夹同步_在Centos下对高并发web框架Tornado的性能进行测试
- 许家印深夜主持集团营销大会:恒大全国楼盘全线7折!
- 拓端tecdat|如何用r语言制作交互可视化报告图表
- 面向对象10:多态性的使用、重载和重写的区别、多态性的实用意义
- java如果文件存在则删除_Java删除文件(如果存在)的更好方法
- 巧用GPSID驱动 快速实现WinCE GPS开发
- 虚拟化是什么,虚拟化技术分类
- 手机市场的竞争,用户价值才是硬道理
- 新西兰计算机科学硕士哪所大学最好,2020年新西兰哪些大学计算机科学专业比较好及其优势介绍...
- CSDN博客排名前15名
- From COM to COM 侯捷
- 莫尔斯代码的c语言编码,c语言编写莫尔斯码,帮帮忙啊,速回
- 【Kafka】第三篇-Kafka的集群及Canal介绍
- Spark 大表之间的join
- 分辨率,码率,帧率,ppi,像素,帧大小的计算
- MNIST数据集分类
- 分布式系统(Distributed Systems)概述