Python 有没有更简单的方法来分配字典并循环更新?
试图循环遍历每个键,将其添加到列表中,然后循环遍历,但失败了。我想知道是否有更好的方法来更新我的字典,而不是定义上面所有的变量并逐个更新它Python 有没有更简单的方法来分配字典并循环更新?,python,dictionary,Python,Dictionary,试图循环遍历每个键,将其添加到列表中,然后循环遍历,但失败了。我想知道是否有更好的方法来更新我的字典,而不是定义上面所有的变量并逐个更新它 nfl = dict() nfl['Tom'] = tom = dict() nfl['bob'] = bob = dict() nfl['kara'] = kara = dict() nfl['Mike'] = mike = dict() for k in data: if 'tom_score' in data[k]: <
nfl = dict()
nfl['Tom'] = tom = dict()
nfl['bob'] = bob = dict()
nfl['kara'] = kara = dict()
nfl['Mike'] = mike = dict()
for k in data:
if 'tom_score' in data[k]:
<doing stuff here>
elif 'bob'in k:
bob.update(data[k])
elif 'kara'in k:
kara.update(data[k])
elif 'mike'in k:
mike.update(data[k])
nfl=dict()
nfl['Tom']=Tom=dict()
nfl['bob']=bob=dict()
nfl['kara']=kara=dict()
nfl['Mike']=Mike=dict()
对于k in数据:
如果数据[k]中的“tom_分数”:
elif‘bob’in k:
更新(数据[k])
elif‘kara’in k:
kara.update(数据[k])
elif‘mike’in k:
mike.update(数据[k])
假设是打字错误,'Tom'
和'Tom\u score'
应该是相同的,您可以使用defaultdict
from collections import defaultdict
nfl = defaultdict(dict)
for k in data:
if k in ['Tom', 'bob', 'kara', 'Mike']:
nfl[k].update(data[k])
如果您想拥有
数据中的所有名称,而不仅仅是指定的名称,则可以跳过if
part with names check。我真的不明白这个问题,数据是什么样子的?如果你能通过nfl['tom']
访问它,你需要什么tom
?我刚开始阅读+2文件。修改第一个键并将其保存为自己的键。然后使用其他键,添加/更新它们。感谢Yaroslav的帮助。