2016-08-29 14 views
-3
[ 
    {'date': '08/11/2016', 'duration': 13.0}, 
    {'date': '08/17/2016', 'duration': 5.0}, 
    {'date': '08/01/2016', 'duration': 5.2}, 
    {'date': '08/11/2016', 'duration': 13.0}, 
    {'date': '08/11/2016', 'duration': 13.0}, 
    {'date': '08/11/2016', 'duration': 13.0} 
] 

データがそのような場合は、リスト内で重複するキー値のペアを削除する方法

+4

自分でやっていることを示してください。あなたを手助けするために[mcve]をまとめる方法をお読みください。 – idjaw

答えて

0

一方向はFrozenDictです。これを使用すると、dictで設定された操作を実行できます。しかし、これはデフォルトのpythonパッケージとしては利用できません。

また、リストから新しいリストにエントリし、新しい値を入力する前にチェックを行ってください。以下のサンプルコードです:

my_list = [{'date': '08/11/2016', 'duration': 13.0}, {'date': '08/17/2016', 'duration': 5.0}, {'date': '08/01/2016', 'duration': 5.2}, {'date': '08/11/2016', 'duration': 13.0}, {'date': '08/11/2016', 'duration': 13.0}, {'date': '08/11/2016', 'duration': 13.0}] 

new_list = [] 
for item in my_list: 
    if item not in new_list: 
     new_list.append(item) 

# new_list = [{'date': '08/11/2016', 'duration': 13.0}, {'date': '08/17/2016', 'duration': 5.0}, {'date': '08/01/2016', 'duration': 5.2}] 
2

一つは本当に効率的で簡単ではなく、ソリューションをすることができます:

a = [{'date': '08/11/2016', 'duration': 13.0}, {'date': '08/17/2016', 'duration': 5.0}, {'date': '08/01/2016', 'duration': 5.2}, {'date': '08/11/2016', 'duration': 13.0}, {'date': '08/11/2016', 'duration': 13.0}, {'date': '08/11/2016', 'duration': 13.0}] 
b = [] 
for c in a: 
    if c in b: 
     continue 
    b.append(c) 
print(b) 
関連する問題