2016-04-08 3 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, потому что ключи являются уникальными), а не следовать указаниям сайта.

Однако, если вы хотите избежать нескольких значений в Словаре, вот трюк, чтобы сделать это, если ваши ценности hashable:

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

Первая строка будет избавиться от повторяющихся значений. Второй получит ключи и значения в правильном порядке.

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

Смежные вопросы