如何按键对Python字典进行排序?
我试图按键对字典进行排序,但每当我打印回来时,它都会以随机顺序返回索引如何按键对Python字典进行排序?,python,sorting,dictionary,key,Python,Sorting,Dictionary,Key,我试图按键对字典进行排序,但每当我打印回来时,它都会以随机顺序返回索引 students = {'John' : 23, 'Harry' :20, 'Adam' : 25} 我有一本这样的字典。我希望使用键按升序对其进行排序,即我希望输出为: {'Adam' :25,'Harry' :20,'John' :23} 以下是我试图解决的问题 我使用了排序(students.items()) 但它返回了随机排序的字典 我试过了 sorted(students.items(),key=lambda
students = {'John' : 23, 'Harry' :20, 'Adam' : 25}
我有一本这样的字典。我希望使用键按升序对其进行排序,即我希望输出为:
{'Adam' :25,'Harry' :20,'John' :23}
以下是我试图解决的问题
sorted(students.items(),key=lambda x:x[0])
{('Adam', 25),('Harry',20),('John',23)}
但是,我想要这样的输出:
{'Adam' :25,'Harry' :20,'John' :23}
有人能帮我解决这个问题吗?
提前感谢试试这个:
students = {'John' : 23, 'Harry' :20, 'Adam' : 25}
sorted_students = dict(sorted(students.items()))
print(sorted_students)
通常,如果您发现自己想要对字典进行排序(而不是对字典中已排序的元素进行操作),那么您需要重新考虑使用字典。为什么需要对其进行排序?如果只是为了打印,那么您可以迭代
排序(students.items())
并以这种方式打印元素,而不需要对实际字典进行排序。从概念上讲,字典没有顺序。
students = {'John' : 23, 'Harry' :20, 'Adam' : 25}
sorted_students = dict(sorted(students.items()))
print(sorted_students)