2017-11-30 6 views
3

私は辞書のリストを持っています。Python3:リスト内の複数の辞書を比較する/繰り返しエントリを削除する

[{'direction': 'PLACE_A', 
    'line': 'S2', 
    'delay': 0, 
    'when': '2017-11-29T17:48:00+01:00', 
    'trip': 33738 
    } 

{'direction': 'PLACE_A', 
    'line': 'S2', 
    'delay': 0, 
    'when': '2017-11-29T17:48:00+01:00', 
    'trip': 33738 
} 
{'direction': 'PLACE_B', 
    'line': 'S1', 
    'delay': 0, 
    'when': '2017-11-29T17:51:00+01:00', 
    'trip': 33739 
} 
{'direction': 'PLACE_B', 
    'line': 'S1', 
    'delay': 0, 
    'when': '2017-11-29T17:55:00+01:00', 
    'trip': 33740 
} 
{'direction': 'PLACE_A', 
    'line': 'S2', 
    'delay': 0, 
    'when': '2017-11-29T17:48:00+01:00', 
    'trip': 33738 
}] 

エントリの一部が2回以上表示されます:旅行の値が同じである。このように見えます。

辞書リストの反復エントリが削除されるようにリストを減らすにはどうすればよいですか?私はセットで何かを試しましたが、ここではうまくいきませんでした。

何か助けていただきありがとうございます。ありがとう!

+2

を? https://stackoverflow.com/questions/11092511/python-list-of-unique-dictionaries – Alan

+0

@alan私は問題が異なっていると思います。そこには、「id」値だけがユニークであることがチェックされています。 2つの辞書が同じかどうか確認してください。 –

+0

@Moshen。こっちも一緒。 IDは 'trip'です。 –

答えて

0

ちょうど新しいリストを作成します。これはあなたが必要なものを与えてい

newlist = [] 
for item in oldlist: 
    if item not in newlist: 
     newlist.append(item) 
関連する問題