Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PythonDefaultDict,正在计算一个不起作用的列表_Python_Django_Django Models - Fatal编程技术网

PythonDefaultDict,正在计算一个不起作用的列表

PythonDefaultDict,正在计算一个不起作用的列表,python,django,django-models,Python,Django,Django Models,所以我有一个按日期排序的列表,以及每个日期的记录数。这很好,在我的打印输出中我可以看到计数。然而,我需要从所示的一个和以后的另一个构建一个聚合数据结构,因此我试图将“temp”组合在一起 为什么我在添加到temp中时不断得到0,而在打印输出中,它正好在temp的上方,显示我4 created = EmailAddress.objects.all().values_list('email', 'user__date_joined') temp = defaultdict(list) for ke

所以我有一个按日期排序的列表,以及每个日期的记录数。这很好,在我的打印输出中我可以看到计数。然而,我需要从所示的一个和以后的另一个构建一个聚合数据结构,因此我试图将“temp”组合在一起

为什么我在添加到temp中时不断得到
0
,而在打印输出中,它正好在temp的上方,显示我
4

created = EmailAddress.objects.all().values_list('email', 'user__date_joined')
temp = defaultdict(list)

for key,group in itertools.groupby(created, key=lambda x: x[1].strftime('%Y%m%d')[:11]):
    print 'Date of signup: ', key
    print '# of signups: ', (sum(1 for _ in group))
    temp[key].append(sum(1 for _ in group))
输出

Date of signup:  20150603
# of signups:  4
defaultdict(<type 'list'>, {'20150603': [0]})
注册日期:20150603
#报名人数:4
defaultdict(,{'20150603':[0]})

就像一个发电机。第一次迭代时,您“使用”了所有的值

您可以将值存储在变量中

for key,group in itertools.groupby(created, key=lambda x: x[1].strftime('%Y%m%d')[:11]):
    print 'Date of signup: ', key
    num_signups = (sum(1 for _ in group))
    print '# of signups: ', num_signups
    temp[key].append(num_signups)