python – 访问没有嵌套循环的字典的嵌套级别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 访问没有嵌套循环的字典的嵌套级别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1054字,纯文字阅读大概需要2分钟。
内容图文
![python – 访问没有嵌套循环的字典的嵌套级别](/upload/InfoBanner/zyjiaocheng/794/54ecab3107b84c969107df26606fca69.jpg)
我有一个字典,其中包含各种n值的协议的仿真结果(“协议”和n与我面临的问题无关).这本词典的结构如下:
myDict = {"protocol1" : {1:[some list of numbers], 2:[another list of numbers]},
"protocol2" : {1:[some list of numbers], 2:[another list of numbers]},
}
现在,为了分析结果,我会做这样的事情:
for protocol, stats in myDict.items():
for n, counts in stats.items():
# do stuff with protocol, n and counts
我想知道,如果存在一些允许我这样做的内置函数,而不必定义自定义迭代器:
for protocol, n, counts in magicFunc(myDict):
# do stuff with protocol, n and counts
在itertools中是否有某些东西可以让我这样做?
解决方法:
不确定它是否更好……我会坚持你的榜样,但它会变得更深,比如:
myDict = {
'p1': {1: [1, 2, 3], 2: [4, 5, 6]},
'p2': {3: [7, 8, 9], 4: [0, 1, 2]}
}
from collections import Mapping
def go_go_gadget_go(mapping):
for k, v in mapping.items():
if isinstance(v, Mapping):
for ok in go_go_gadget_go(v):
yield [k] + ok
else:
yield [k] + [v]
for protocol, n, counts in go_go_gadget_go(myDict):
print(protocol, n, counts)
# p2 3 [7, 8, 9]
# p2 4 [0, 1, 2]
# p1 1 [1, 2, 3]
# p1 2 [4, 5, 6]
内容总结
以上是互联网集市为您收集整理的python – 访问没有嵌套循环的字典的嵌套级别全部内容,希望文章能够帮你解决python – 访问没有嵌套循环的字典的嵌套级别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。