>想象一下我在python中有这个字典:
dict = {'arr': [{'prop1': 'foo'}, {'prop1': 'bar'}]}
我想将 arr 中所有项目的"prop1"值更改为"foobar",我可以这样:
for item in dict['arr']:
item['prop1'] = 'foobar'
但是我想知道是否有办法使用列表表达式来做到这一点。
你可以,但前提是每一步都替换整个字典:
dict['arr'] = [
{k: 'foobar' if k == 'prop1' else v for k, v in d.items()}
for d in dict['arr']]
这假设您在这些字典中还有其他键。如果不这样做,只需使用该键生成新词典:
dict['arr'] = [{'prop1': 'foobar'} for _ in dict['arr']]
就个人而言,如果您所做的只是更新字典中的一个键值对,请坚持原始for
循环。