Python 在单独的字典中按列表的相应值对列表进行排序?

Python 在单独的字典中按列表的相应值对列表进行排序?,python,arrays,sorting,dictionary,Python,Arrays,Sorting,Dictionary,假设我有一个字典,其中一些键是单独数组中的值,那么如何根据字典中各自键的值对数组中的值进行排序 例如: 输入: dict = {'a': 4, 'b': 7, 'c': 10, 'd': 1} array = [a, b, d] 输出: array = ['d', 'a', 'b'] 输出数组中的值的顺序应该是“d”,因为它在字典中的值是最低的(1)。然后是“a”(4)和“b”(7)。我故意不在数组中包含“c” 我不是要求用算法来解决这个问题 我在问是否有一种简单的内置方法可以做到这一点,例

假设我有一个字典,其中一些键是单独数组中的值,那么如何根据字典中各自键的值对数组中的值进行排序

例如:

输入:

dict = {'a': 4, 'b': 7, 'c': 10, 'd': 1}
array = [a, b, d]
输出:

array = ['d', 'a', 'b']
输出数组中的值的顺序应该是“d”,因为它在字典中的值是最低的(1)。然后是“a”(4)和“b”(7)。我故意不在数组中包含“c”

我不是要求用算法来解决这个问题


我在问是否有一种简单的内置方法可以做到这一点,例如使用
排序(array,key=)
类型函数。

我认为您需要的是:

>>> d = {'a': 4, 'b': 7, 'c': 10, 'd': 1} 
>>> a = ['a', 'b', 'd']
>>> sorted(a, key=d.get)
['d', 'a', 'b']

我认为你的要求是:

>>> d = {'a': 4, 'b': 7, 'c': 10, 'd': 1} 
>>> a = ['a', 'b', 'd']
>>> sorted(a, key=d.get)
['d', 'a', 'b']

是的,您可以使用lambda函数返回字典中相应元素的值。
顺便说一句,我认为在变量名中使用“dict”一词不是一个好的做法,因为它是python中的内置词

print(sorted(array, key=lambda x: a_dict[x]))

是的,您可以使用lambda函数返回字典中相应元素的值。
顺便说一句,我认为在变量名中使用“dict”一词不是一个好的做法,因为它是python中的内置词

print(sorted(array, key=lambda x: a_dict[x]))
您可以尝试以下方法: dict={'a':4,'b':7,'c':10,'d':1} 数组=[“a”、“b”、“d”]

您可以尝试以下方法: dict={'a':4,'b':7,'c':10,'d':1} 数组=[“a”、“b”、“d”]