这是一个错误还是我只是盯着这个太久了?

时间:2016-09-08 22:06:19

标签: python python-2.7 debugging

import random

def buggy(lst):
    data = dict.fromkeys(lst, [])
    for i in range(3):
        team_stats = dict.fromkeys(lst, 0)
        for j in range(3):
            ind_stats = {field: random.randint(1,5) for field in lst}
            for field, val in ind_stats.iteritems():
                team_stats[field] += val
        for f, v in team_stats.iteritems():
            data[f].append(v)
return data

假设我想为三场比赛的三人团队返回总计团队统计数据。

d = buggy(['sack', 'first_down'])

d应该像{'sack':[12,3,7],'first_down':[5,8,5]} 所以在第一场比赛中,球队有5次首发。

相反,我不断得到类似{'sack':[12,5,3,8,7,5],'first_down':[12,5,3,8,7,5]}

我尝试过调试和各种形式:

for f, v in team_stats.iteritems():
        data[f].append(v)

我能想到,但每次数据中的每个字段都会被追加而不是特定的字段数据[f]。

0 个答案:

没有答案