Используя Python 3.4, я пытаюсь сортировать словарь с двумя идентичными элементами. Когда я бегу,Сортировка словаря с несколькими ключами
my_dict = {
'6/18/2015': [6, 'a'],
'6/19/2015': [18, 't'],
'6/17/2015': [3, 'r']
}
for key, value in sorted(my_dict.iteritems(), key=lambda kvt: kvt[1][0]):
print key, ':', value
Я получаю красиво напечатанный результат.
Но когда я использую мои фактические данные, которые больше похожи на:
my_dict = {
'6/18/2015': [6, 'a'],
'6/19/2015': [18, 't'],
'6/18/2015': [3, 'r'] #note the duplicate date
}
for key, value in sorted(my_dict.iteritems(), key=lambda kvt: kvt[1][0]):
print key, ':', value
результат просто отбрасывает любые повторяющиеся строки.
Что я делаю неправильно?
(ред добавить:.. Спасибо всем за помощь Правильный ответ понял В случае, если кто-то еще эта проблема, ключи моего словаря были на самом деле кортежи несколько кортежей начали с тем же значением, и это смущало меня.)
Ключи словаря должны быть уникальными. Поэтому вы можете сохранить списки значений для захвата нескольких точек данных с того же дня – inspectorG4dget
Словари не могут содержать дубликаты ключей. Использовать другую структуру данных. (Https://docs.python.org/3/library/stdtypes.html) – TigerhawkT3