0
votes

Trier un tableau par valeur

J'ai ce tableau:

a = [{'id': 2, 'date': '2020-01-25'}, {'id': 3, 'date': '2020-01-26'}, {'id': 3, 'date'; '2020-01-31'}]

Je voudrais le commander par date comme ça:

a = [{'id': 1, 'date: '2020-01-31'}, {'id': 2, 'date': '2020-01-25'}, {'id': 3, 'date': '2020-01-26'}]

Comment puis-je faire cela pour trier mon tableau comme ça?

Merci beaucoup !


1 commentaires

3 Réponses :


4
votes

Solution la plus simple: utilisez la fonction sorted intégrée et, pour l'argument key par défaut, utilisez une expression lambda pour extraire la date de chaque élément, comme indiqué ci-dessous:

[{'id': 2, 'date': '2020-01-25'}, {'id': 3, 'date': '2020-01-26'}, {'id': 1, 'date': '2020-01-31'}]

Sortie de la console:

a = [
    {'id': 1, 'date': '2020-01-31'},
    {'id': 2, 'date': '2020-01-25'},
    {'id': 3, 'date': '2020-01-26'}
]

a_sorted = sorted(a, key=lambda e: e['date'])

print(a_sorted)


0 commentaires

1
votes

Si vous souhaitez trier le tableau vous-même, vous pouvez utiliser un algorithme de tri, par exemple le tri à bulles ou vous pouvez vérifier ici dans ce lien pour plus d'algorithmes


0 commentaires

0
votes

trié (a, clé = élément lambda: élément ['date'])

si vous avez besoin d'un ordre décroissant

trié (a, clé = élément lambda: élément ['date'], inverse = Vrai)


0 commentaires