2016-04-08 9 views
-4

重複するキー値のペアを持つPython辞書があります。プログラムでそれらを削除する最良の方法は何ですか?フィードバック感謝!Python 2.7 - 重複キー値のペアを辞書から削除する

EDIT:回答いただきありがとうございます、あなたたちは正しい - 宣言のいずれかの重複したキーと値のペア(またはそれ以外の生成は、私が仮定)辞書が自動的に削除されるように表示されます。アウト

dictionary = { 
       "omg": "lol", 
       "omg": "lol", 
       "ikr": "rotfl" 
       } 

print dictionary 

プリント:

{'ikr': 'rotfl', 'omg': 'lol'} 
+0

例がありますか?これまでに何を試みたのかを示すことができますか? – AKS

+0

まだ何も試していません。 –

+7

Dictは重複するキーを持つことができません – Hackaholic

答えて

1

あなたの質問は基本的に間違っています(キーは一意であるため、キーと値のペアがdictでユニークである)、およびサイトのガイドラインに従っていません。お使いの値がハッシュ可能であれば

しかし、あなたは辞書で複数の値を避けたいと仮定すると、ここでは、これを行うためのトリックです:

d = {v:k for k, v in input_dict.iteritems()} 
res = {v:k for k, v in d.iteritems()} 

最初の行が重複する値を取り除くでしょう。 2番目のキーと値は正しい順序で戻されます。

>>> input_dict = {'a':1 , 'b':2 , 'c':1} 
>>> d = {v:k for k,v in input_dict.iteritems()} 
>>> print {v:k for k,v in d.iteritems()} 
{'c': 1, 'b': 2} 
+0

問題は、ソースディクショナリ内のいずれかの値が非ハッシュ型(例えば 'list')であれば、この解決策は失敗することです。 – Matthias

+0

それは正しいです、私は免責事項を追加します。 – DevShark

+0

あなたの質問にお答えしましたか?それはあなたの後だったのですか? – DevShark

関連する問題