我有一个包含结果的dict的文档,我要做的是遍历文档并保存每个正确的结果
这是我目前的代码,工作正常,但只会返回第一个结果
#Fetch router descriptors based on a given flag
def getHSDirFlag():
for r in router.itervalues():
if 'HSDir' in r['flags']:
return r
return None
我试过:
def getHSDirFlag():
HSDirList =()
for r in router.itervalues():
if 'HSDir' in r['flags']:
HSDirList += r
return HSDirList
return None
但是获取错误TypeError:只能将tuple(而不是“dict”)连接到tuple
保存dict的最佳数据类型是什么?如何在文档中循环查找每个结果
您可以将词典保存在
JSON
文件中!在这段代码中,您有一个元组,您想在元组上串联字典,但我建议您使用JSON
保存dict!你知道吗此代码用于保存json文件:
这个是用来装东西的
更多信息请访问https://docs.python.org/2/library/json.html
首先,为什么要调用变量
HSDirList
,并使其成为tuple
,而不是list
?!你知道吗第二,为什么
return
在for
循环中的“list”,然后将return None
(它永远不会到达)固定到函数的末尾?你知道吗尝试:
请注意,
return
在for
循环之外,因此在遍历所有itervalues
之前不会发生。而且,router
现在是函数的参数,而不是依赖于作用域。你知道吗最后,您应该阅读并考虑实现Python style guide, PEP-0008。你知道吗
相关问题 更多 >
编程相关推荐