2017-02-15 11 views
3

リストbからリンク値が含まれるすべての辞書をリストから削除するにはどうすればよいですか?Python - キーが値と等しい場合にリストから辞書を削除する

a = [{'link':'http://example.com/1/', 'id': 1}, {'link':'http://example.com/2/', 'id': 2}] 
b = ['http://example.com/2/', 'http://example.com/3/'] 

次のようになります。

a = [{'link':'http://example.com/1/', 'id': 1}] 

答えて

3
a = [x for x in a if x['link'] not in b] 

デモ:

>>> a = [{'link':'http://example.com/1/', 'id': 1}, {'link':'http://example.com/2/', 'id': 2}] 
>>> b = ['http://example.com/2/', 'http://example.com/3/'] 
>>> a = [x for x in a if x['link'] not in b] 
>>> a 
[{'link': 'http://example.com/1/', 'id': 1}] 
関連する問題