list1 = [
{'id': 1, 'country': 'Italy'},
{'id': 2, 'country': 'Spain'},
{'id': 3, 'country': 'Japan'}
]
我使用此代码从list1
中删除每个包含country != Italy
的字典:
list2 = [element for element in list1 if element['country'] == 'Italy']
但我要在list2
和country == 'Italy'
中添加country == 'Spain'
词典并删除所有其他词典(或者更好地从list1
弹出它们而不创建另一个词典)。我怎么能在一行=
答案 0 :(得分:1)
如果你真的想要一个单行,你可以使用列表理解和就地列表更新:
list1[:] = [d for d in list1 if d['country'] in ('Spain', 'Italy')]