编辑词典列表中的值?

dav*_*ave 19 python dictionary list

my_dicts = [ 
    { 'key1' : 'value1',
      'key2' : 'value2' },

    { 'key1' : 'value1',  
      'key2' : 'value2' },

    { 'key1' : 'value1',  
      'key2' : 'value2' }]
Run Code Online (Sandbox Code Playgroud)

用'value3'替换'value2'的所有实例的最有效方法是什么?

Sve*_*ach 38

我没有做任何时间,但你可能不会比这更好

for d in my_dicts:
    d.update((k, "value3") for k, v in d.iteritems() if v == "value2")
Run Code Online (Sandbox Code Playgroud)

Python3的更新

for d in my_dicts:
    d.update((k, "value3") for k, v in d.items() if v == "value2")
Run Code Online (Sandbox Code Playgroud)


aaa*_*210 13

Python3.7 字典理解(不过会返回深层副本):

update = {'key2':'value3'}
new_dicts = [{**d,**update} for d in my_dicts]
Run Code Online (Sandbox Code Playgroud)