是否有更简单的方法来分配字典并循环更新?

时间:2015-09-03 13:27:08

标签: 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]:
        <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])

1 个答案:

答案 0 :(得分:1)

假设这是一个错字,'Tom''tom_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中的所有名称而不仅仅是指定的名称,则可以跳过data部分名称检查。