在python中将字典保存为单独引用的方法

2024-06-08 20:16:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在从字典构建一组统计数据时,我会处理各种条目(例如按用户)。因此,我可以为每个用户构建各种统计信息。在这样做的同时,我还为一个可以称为“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计算整个统计数据集。你知道吗


Tags: 方法用户in信息for字典saveoutfile