Python 从有序列表中的键对字典值进行排序

Python 从有序列表中的键对字典值进行排序,python,list,dictionary,Python,List,Dictionary,假设我有以下词典: FruitValues={'Banana':3, 'Orange':4, 'Apple':1} 我有一个字典的键列表,顺序是我想保留的: SortOrder=['Orange', 'Apple', 'Banana'] 按列表顺序从字典中获取值列表的最有效方法是什么 目前我的做法如下: OrderedValues=[] for Fruit in SortOrder: OrderedValues.append(FruitValues[Fruit]) print Ord

假设我有以下词典:

FruitValues={'Banana':3, 'Orange':4, 'Apple':1}
我有一个字典的键列表,顺序是我想保留的:

SortOrder=['Orange', 'Apple', 'Banana']
按列表顺序从字典中获取值列表的最有效方法是什么

目前我的做法如下:

OrderedValues=[]
for Fruit in SortOrder:
    OrderedValues.append(FruitValues[Fruit])
print OrderedValues

[4, 1, 3]

有没有更好/更干净的方法?可能使用字典理解?

使用列表理解:

>>> [FruitValues[i] for i in SortOrder]
[4, 1, 3]