代码之家  ›  专栏  ›  技术社区  ›  user3114168

python-更新字典列表中的值

  •  1
  • user3114168  · 技术社区  · 6 年前

    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中,如何只更新相关值?

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

    我还知道如何循环遍历这样的列表…

    for d in my_list
    ......
    

    但是,如何循环浏览列表并选择相关的dict(按用户ID)并更新它?

    (我用的是蟒蛇3.4)

    2 回复  |  直到 6 年前
        1
  •  2
  •   rawwar    6 年前

    您可以执行以下操作

    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
    

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

        2
  •  1
  •   Austin    6 年前

    结合你所知道的。

    步骤 :

    1. 遍历列表。
    2. 更新与所需用户对应的项。

    代码 :

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