2016-04-08 15 views
-4

Yinelenen anahtar değer çiftlerine sahip bir Python sözlüğüm var. Program aracılığıyla kaldırmanın en iyi yolu nedir? Geribildirim takdir!Python 2.7 - Yinelenen Anahtar Değer Çiftlerini Sözlükten Kaldır

DÜZENLEME: Siz doğru, yanıtlar için teşekkür ederiz - bir (ı varsayalım, oluşturulan veya başka türlü) beyan sözlükte herhangi bir yinelenen anahtar değer çiftleri görünür otomatik kaldırılması: dışarı

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

print dictionary 

baskılar :

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

Örnek var mı? Şimdiye kadar ne denediniz? – AKS

+0

Henüz bir şey denemedim. –

+7

Dict yinelenen anahtarlara sahip olamaz – Hackaholic

cevap

1

Sorunuz yanlış (tuşlar özel olduklarından anahtar-değer çiftleri bir dict eşsizdir) temelde olduğunu ve sitenin yönergelerine uygun değil. değerleriniz hashable ise

Ancak, bir dict birden çok değer kaçınmak istiyorum varsayarak burada, bunu yapmanın bir hüner:

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

ilk satırı yinelenen değerlerin kurtulacaksınız. İkincisi, anahtarları ve değerleri doğru sırada geri alacak.

>>> 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

Sorun, kaynak sözlüğünde herhangi bir değerin, paylaşılmaz bir tür (ör. "Liste") olması durumunda bu çözümün başarısız olmasıdır. – Matthias

+0

Bu doğru, yasal uyarıyı ekleyeceğim. – DevShark

+0

Tamam, sorunuza cevap verdim mi? Yaptığın şey miydi? – DevShark

İlgili konular