Python 值会附加到字典中的每个数组/列表中,但特定数组/列表除外

Python 值会附加到字典中的每个数组/列表中,但特定数组/列表除外,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有一个这样的循环: 对于项目中的项目: 打印(项目)#字符串 买入价格=多头,但有效 售价=#也很长,但有效 self.market[项目][“最新买入价格”]。追加(买入价格) self.market[项目][“最新售价”]。追加(售价) self.market中的每个元素如下所示: 'ITEM_ID':{'ID':'ITEM_ID',#键名和此值相同 'name':'Item name',#项目名称的格式可读性很好 “最新购买价格”:[], “最新售价”:[]] 因此,访问一个项目的数

我有一个这样的循环:

对于项目中的项目:
打印(项目)#字符串
买入价格=多头,但有效
售价=#也很长,但有效
self.market[项目][“最新买入价格”]。追加(买入价格)
self.market[项目][“最新售价”]。追加(售价)
self.market
中的每个元素如下所示:

'ITEM_ID':{'ID':'ITEM_ID',#键名和此值相同
'name':'Item name',#项目名称的格式可读性很好
“最新购买价格”:[],
“最新售价”:[]]
因此,访问一个项目的数据应该像
self.market[item\u ID]
但是,在上面循环的最后两行,由于某种原因,价格会被添加到每个项目的价格列表中,而不仅仅是循环当前所在的项目。这意味着,如果有8个项,那么这些数组中的每个都将有8个值,而不是只有一个值

我已经检查了买入价、自售价和自售市场,并且结构正确

这可能是什么原因造成的


可能值得一提的是,for循环在异步函数中

您必须提供一个好的,我会创建一个,但不知何故,当您创建
self.market
时,您使用的是同一个列表。我有一个所有项目ID(其被调用的项目)的列表和一个start函数,其中创建了self.market并循环项目,创建一个新的key:value对,其中key是条目ID,value是模板,然后我修改了“ID”和“name”键,我不太明白你的意思,我使用的是相同的列表?告诉我们你是如何创建字典的。如果您只向我们展示您认为问题所在的代码片段,而排除了其中的其他重要部分,我们将无能为力