Python - 更新字典列表中的值

时间:2018-05-27 14:59:50

标签: python python-3.x

我有一个列表,它存储了user_id和3个帐户的余额。

my_list= [
{'user': 1000, 'account1': 100, 'account2': 200, 'account3': 100},
{'user': 1001, 'account1': 110, 'account2': 100, 'account3': 250},
{'user': 1002, 'account1': 220, 'account2': 200, 'account3': 100},
]

如果用户(用户:1001)想要将100添加到他的帐户2,我该如何仅更新相关值?

我知道如何像这样更新1个词典......

update_value = 100
dict["account2"] += update_value

我也知道如何遍历这样的列表......

for d in my_list
......

但是,我如何遍历列表并选择相关的dict(通过user_id)并更新它?

(我正在使用python3.4)

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作

for each in my_list:
     if each['user'] == "1001" #or you can use a variable here
        each['account1']+=100 # even here, instead of account1 you can use a variable

上面的代码有效,因为它是您正在更新的引用。

答案 1 :(得分:1)

结合你所知道的。

<强>步骤

  1. 遍历列表。
  2. 更新与所需用户对应的项目。
  3. <强>代码

    for x in my_list:
        if x['user'] == 1001:
            x.update({'account2': x['account2']+100})