【发布时间】:2011-07-19 22:12:47
【问题描述】:
我最近一直在寻找解决方案,但到目前为止无济于事。我从 php 到 python,遇到了一个关联数组的差异,我现在不确定要克服。
走这条线:
data[user]={i:{'item':row[0],'time':row[1]}}
这会覆盖我的每个 data[user] 条目,显然,因为它不是附加的,它只是每次都替换数据。
在 php 中,如果我想在 for 循环中添加一些新数据,我可以这样做
data[user][i][]=array('item'=>'x','time'=>'y'); // crude example
在python中,我做不到:
data[user][]={i:{'item':row[0],'time':row[1]}}
它在我的[] 上呕吐
我也做不到:
data[user][i]={'item':row[0],'time':row[1]}
我是循环中的迭代器...我认为这是因为 data[user] 尚未定义,但在操作时?我已经创建了data={},但我还没有将用户作为键填充。
在python中,是否必须先定义一个键才能定义它,包括子键?
我尝试了一堆.append() 选项和其他奇怪的技巧,但我想知道这样做的正确方法。
我可以做:
data[user,i]={'item':row[0],'time':row[1]}
但这不是我想要的。
python 朋友,我这里的正确方法是什么?
【问题讨论】:
-
好吧,看来我并没有我希望的那么清楚。问题不在于添加 data[user]=stuff。问题是添加 data[user][i]=stuff
标签: python list dictionary append