如何编辑字典列表中的值?
my_dicts = [
{ 'key1' : 'value1',
'key2' : 'value2' },
{ 'key1' : 'value1',
'key2' : 'value2' },
{ 'key1' : 'value1',
'key2' : 'value2' }]
有没有什么最有效的方法可以把所有的'value2'替换成'value3'呢?
4 个回答
4
for x in my_dicts:
for y in x:
if x.get(y) == 'value2':
x.update({y: "value3"})
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。
13
Python3.7 中的字典推导式(不过它会返回一个深拷贝):
update = {'key2':'value3'}
new_dicts = [{**d,**update} for d in my_dicts]
65
我没有做过具体的时间测试,但你可能很难做到比这个更快了。
for d in my_dicts:
d.update((k, "value3") for k, v in d.iteritems() if v == "value2")
这是针对Python3的更新
for d in my_dicts:
d.update((k, "value3") for k, v in d.items() if v == "value2")