Python:按排序值迭代字典键

Python:按排序值迭代字典键,python,dictionary,iteration,Python,Dictionary,Iteration,我需要遍历字典的键,但要按照值指定的顺序进行 例如: myDict = {ID1: 50, ID2: 40, ID3: 60} 我想以某种方式做到这一点: for keyCorrespondingToTheValue in sorted(myDict.values()): -->我怎样才能做到这一点 如果该值是一个排名,我希望按排名顺序遍历每个ID。我可以通过反转字典中的键/值来实现这一点,但我不想这样做,因为无法保证排名值是唯一的。您可以对myDict.items进行排序,如下所示: &g

我需要遍历字典的键,但要按照值指定的顺序进行

例如:

myDict = {ID1: 50, ID2: 40, ID3: 60}
我想以某种方式做到这一点:

for keyCorrespondingToTheValue in sorted(myDict.values()):
-->我怎样才能做到这一点


如果该值是一个排名,我希望按排名顺序遍历每个ID。我可以通过反转字典中的键/值来实现这一点,但我不想这样做,因为无法保证排名值是唯一的。

您可以对
myDict.items进行排序,如下所示:

>>> myDict = {'ID1': 50, 'ID2': 40, 'ID3': 60}
>>> for item in sorted(myDict.items(), key=lambda x: x[1]):
...     item
...
('ID2', 40)
('ID1', 50)
('ID3', 60)
>>> for key, _ in sorted(myDict.items(), key=lambda x: x[1]):
...     key
...
'ID2'
'ID1'
'ID3'
>>>
这里的重要部分是排序的
,它允许您指定每个项目的排序方式。在本例中,我们根据每个键的值进行排序


您可能还需要阅读文档以更好地了解如何使用
排序

谢谢!如何从最大值->最小值对其排序?@JessicaDow-您可以简单地将
reverse
参数设置为
True
用于已排序的项目(myDict.items(),key=lambda x:x[1],reverse=True):
python文档中的“排序方式”参考可能很好:@BHM-为您添加。
for key in sorted(myDict, key=lambda k: myDict[k]):
    ...
for key in sorted(myDict, key=myDict.get)