我有一个列表,它存储了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)
答案 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)
结合你所知道的。
<强>步骤强>:
<强>代码强>:
for x in my_list:
if x['user'] == 1001:
x.update({'account2': x['account2']+100})