我想在嵌套列表的字典中插入一个值。 这是我试过的,
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_id': 3}], [0, False, {u'company_id': 3}], [0, False, {u'company_id': 3}]]
但我很期待,
[[0, False, {u'company_id': 1}], [0, False, {u'company_id': 2}], [0, False, {u'company_id': 3}]]
请帮我解决这个问题。提前致谢...
最佳答案
您需要为要更改的 seller_ids 中的条目创建一个副本。就像 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
关于python - 向嵌套列表的字典中插入一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179296/