Python 在嵌套列表的目录中插入一个值

Python 在嵌套列表的目录中插入一个值,python,list,dictionary,python-2.x,Python,List,Dictionary,Python 2.x,这里我想在嵌套列表的字典中插入一个值。 这就是我所尝试的 company_ids = [1,2,3] seller_ids = [[0, False, { u'company_id': 4}]] result = [] for company in company_ids: for i in xrange(0, len(seller_ids)): seller_ids[i][2]['company_id'] = company result.appe

这里我想在嵌套列表的字典中插入一个值。 这就是我所尝试的

company_ids = [1,2,3]   
seller_ids = [[0, False, { u'company_id': 4}]]
result = []
for company in company_ids:
    for i in xrange(0, len(seller_ids)):
        seller_ids[i][2]['company_id'] = company
        result.append(seller_ids[i])
print result
我明白了

但我期待着这个


请帮我解决这个问题。提前感谢…

发生这种情况是因为您每次更改并将相同的列表
[0,False,{u'company\u id':4}]
附加到
结果中,所以最后它将包含对同一列表的三个引用,并进行最新修改。

您需要在卖家id中创建一个您想要更改的条目副本。正如niemmi所说,否则每次都要处理相同的条目

from copy import deepcopy

company_ids = [1,2,3]   
seller_ids = [[0, False, { u'company_id': 4}]]
result = []
for company in company_ids:
    for i in xrange(0, len(seller_ids)):
        mycopy = deepcopy(seller_ids[i])
        mycopy[2]['company_id'] = company
        result.append(mycopy)

print result
[[0, False, {u'company_id': 1}],
 [0, False, {u'company_id': 2}],
 [0, False, {u'company_id': 3}]]
from copy import deepcopy

company_ids = [1,2,3]   
seller_ids = [[0, False, { u'company_id': 4}]]
result = []
for company in company_ids:
    for i in xrange(0, len(seller_ids)):
        mycopy = deepcopy(seller_ids[i])
        mycopy[2]['company_id'] = company
        result.append(mycopy)

print result