在从字典构建一组统计数据时,我会处理各种条目(例如按用户)。因此,我可以为每个用户构建各种统计信息。在这样做的同时,我还为一个可以称为“total”的虚拟用户构建了统计信息。在字典完成构建之后,我创建了一个.csv文件,并使用writerow方法输出统计信息。你知道吗
由于python不按特定顺序迭代字典键,所以我希望让整个用户最后打印。如果我尝试将生成的统计信息保存到save变量中,然后在适当的时间输出它,save变量将被重置,因为python变量是通过引用而不是值来工作的。这就是密码
mystats = {}
totalstats = {}
for user in mydict
#perform calculations to generate mystats dictionary entries
if user == 'Total':
totalstats = mystats
else:
outfile.writerow(mystats)
outfile.writerow(totalstats)
然而,totalstats的实际输出是上一次放入mystats的任何一组值。你知道吗
有没有一个合适的方法来说明totalstats是将我在赋值时拥有的显式值保存在mystats中,还是需要在末尾计算所有的统计信息
for stattype in mystats:
totalstats[stattype] = mystats[stattype]
虽然这是可行的,但我宁愿使用“totalstats=mystats”类型的东西,而不是在整个统计数据集上做一个大循环,或者在处理结束时为Total计算整个统计数据集。你知道吗
您可以使用^{} :
如果dict不包含可变值,那么您可以简单地使用
dict.copy()
。你知道吗相关问题 更多 >
编程相关推荐