Dis que j'ai un dictionnaire et certaines des touches sont des valeurs dans une matrice distincte, comment résoudre les valeurs dans ma matrice par les valeurs de leurs clés respectives dans le dictionnaire?
Par exemple: P>
entrée: p> sortie: p> L'ordre des valeurs dans la matrice de sortie serait "D "Tout d'abord, sa valeur dans le dictionnaire était la plus faible (1). Suivi de "A" (4) et "B" (7). J'ai délibérément pas inclus "C" dans le tableau. p> Je demande s'il y a une simple façon intégrée de le faire, telle que en utilisant trié (tableau, touche =) code> fonction de type. p> p>
3 Réponses :
Qu'est-ce que je pense que vous demandez:
>>> d = {'a': 4, 'b': 7, 'c': 10, 'd': 1}
>>> a = ['a', 'b', 'd']
>>> sorted(a, key=d.get)
['d', 'a', 'b']
Oui, vous pouvez utiliser une fonction Lambda qui renvoie la valeur d'un élément correspondant dans votre dictionnaire.
Au fait, je pense que ce n'est pas une bonne pratique d'utiliser le mot «dict» pour les noms variables car il s'agit d'un mot intégré à Python.
Vous pouvez essayer ceci: dict = {'A': 4, 'B': 7, 'C': 10, 'D': 1} Array = ["A", "B", "D"]
new_dict = sorted(dict.items(), key=lambda x: x[1])
output_array = []
for key, value in new_dict:
check_values = key in array
if(check_values == True):
output_array.append(key)
print(output_array)`