Python 使用多个键对字典进行排序

Python 使用多个键对字典进行排序,python,dictionary,Python,Dictionary,使用Python3.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 我得到了一

使用Python3.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
结果只是删除所有重复的行

我做错了什么


(编辑为添加:感谢大家的帮助。正确答案已理解。如果其他人有此问题,我的字典的键实际上是元组。多个元组以相同的值开头,这让我很困惑)

字典不能有重复的键,但您可以创建一个列表来存储同一键的多个值:

my_dict = {
  '6/18/2015': [[6, 'a'], [3,'r']],
  '6/19/2015': [18, 't'],
}

字典的键必须是唯一的。因此,您可能希望存储值列表以从同一天捕获多个数据点。字典不能包含重复的键。