python - 向嵌套列表的字典中插入一个值

标签 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.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/

相关文章:

c++ - map.insert : "Invalid arguments" error with pair<enum, vector <*>>

python - 在 python 中的电子邮件的发件人字段中添加发件人姓名

python - 驻留集大小 (RSS) 限制无效

java - 如何从名称中获取任意枚举的实例作为字符串

Perl:展平多维数组的最简单方法是什么?

python - 如何在 Python 中对字典中的值进行排序?

python - __init__ 的可变范围

python - 当 turtle 到达某个点时停止 turtle ,Python

Python:获取元组列表中的最小整数

python - 无法从使用 json 的 URL api 获取信息?