Une note lorsque vous souhaitez trier les éléments de la liste dans un ordre spécifié en Python.
Je ne pouvais pas trouver un moyen de trier une autre liste en recherchant, alors je l'ai écrite. Il peut être utilisé lorsque vous souhaitez trier la réponse d'une API ou d'une base de données externe.
sort.py
from pprint import pprint
data_list = [
{"id": 1, "name": "aaa"},
{"id": 2, "name": "bbb"},
{"id": 3, "name": "ccc"},
{"id": 4, "name": "ddd"},
{"id": 5, "name": "eee"},
]
order = [
1,
5,
3,
2,
4
]
pprint(data_list)
print "-----"
pprint(sorted(data_list, key=lambda data: order.index(data["id"])))
résultat
[{'id': 1, 'name': 'aaa'},
{'id': 2, 'name': 'bbb'},
{'id': 3, 'name': 'ccc'},
{'id': 4, 'name': 'ddd'},
{'id': 5, 'name': 'eee'}]
-----
[{'id': 1, 'name': 'aaa'},
{'id': 5, 'name': 'eee'},
{'id': 3, 'name': 'ccc'},
{'id': 2, 'name': 'bbb'},
{'id': 4, 'name': 'ddd'}]
Recommended Posts