Trie avancée dans une liste imbriquée sans sort()
Whisper40
-
Whisper40 -
Whisper40 -
Bonjour, je suis nouveau et j'aurais besoin d'aide sur une fin de projet, j'ai actuellement une fonction qui me trie une liste suivant l'age inverse des personnes grace a la fonction sorted depuis une liste imbriquée (1 liste dans l'autre), toutefois je voudrais le faire sans utiliser des fonctions de type sort ou sorted.
C'est a dire qu'en clair je voudrais le faire a la main, sans que "sort" n'apparaisse :)
La partie concernée est celle-ci :
Au final le résultat est celui-ci :
Ce qui est tout a fait correct par rapport a ce que je souhaite, sauf que je n'arrive pas a le faire " a la main... " .
Si une personne peut m'aider merci..
C'est a dire qu'en clair je voudrais le faire a la main, sans que "sort" n'apparaisse :)
La partie concernée est celle-ci :
from datetime import datetime
lst = [['WILSON', 'MIKE', 'H', '26/06/1950'], ['EMERIC', 'JAMES', 'H', '27/06/1960'], ['MOPAL', 'ARTHUR', 'H', '27/06/1966']]
def agepersonne():
print(sorted(lst, key=lambda item: datetime.strptime(item[3], '%d/%m/%Y'), reverse=True))
agepersonne()
Au final le résultat est celui-ci :
[['MOPAL', 'ARTHUR', 'H', '27/06/1966'],
['EMERIC', 'JAMES', 'H', '27/06/1960'],
['WILSON', 'MIKE', 'H', '26/06/1950']]
Ce qui est tout a fait correct par rapport a ce que je souhaite, sauf que je n'arrive pas a le faire " a la main... " .
Si une personne peut m'aider merci..
A voir également:
- Trier une liste par ordre croissant python sans sort
- Excel trier par ordre croissant chiffre - Guide
- Liste déroulante excel - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms - Forum LibreOffice / OpenOffice
- Triez cette liste par ordre alphabétique des villes et par note de la meilleure à la moins bonne. quel mot est formé par les 8 premières lettres de la colonne code ? ✓ - Forum Excel
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? ✓ - Forum Bureautique
1 réponse
Bonsoir,
Je suppose que si tu souhaites créer ta propre fonction de tri, c'est dans un but pédagogique, de ce fait te fournir du code tout fait ne servirait donc à rien.
Maintenant des algorithmes de tri il en existe beaucoup.
https://fr.wikipedia.org/wiki/Algorithme_de_tri
Le plus commun et sans doute le plus simple à mettre en oeuvre est le tri par insertion.
https://fr.wikipedia.org/wiki/Tri_par_insertion
Tu sais comment trier tes dates, tu n'auras donc juste besoin pour créer ton implémentation de tri que des méthodes insert et append de list.
Je suppose que si tu souhaites créer ta propre fonction de tri, c'est dans un but pédagogique, de ce fait te fournir du code tout fait ne servirait donc à rien.
Maintenant des algorithmes de tri il en existe beaucoup.
https://fr.wikipedia.org/wiki/Algorithme_de_tri
Le plus commun et sans doute le plus simple à mettre en oeuvre est le tri par insertion.
https://fr.wikipedia.org/wiki/Tri_par_insertion
Tu sais comment trier tes dates, tu n'auras donc juste besoin pour créer ton implémentation de tri que des méthodes insert et append de list.
Je comprends le principe du programme qui a pour but de placer "une date" en fonction des autres, pour cela il analyse la liste afin de placer "une date" au bon endroit afin de garder la liste triée a chaque ajout.
Le résultat :
Donc il a trié les personnes suivant leur nom dans un ordre alphabétique, j'ai essayé diverses méthodes pour enlever les [[',']] et faire un retour a la ligne après chaque personne mais sans succés..
J'aurais aussi aimé enlever les informations après le prénom, afin d'avoir un résultat du type :
Si vous savez comment faire je suis preneur..
Et bien sur j'ai encore une fois essayer de comprendre comment gérer les dates mais je suis désolé ce n'est pas compréhensible pour ma part..
Je n'ai pas d'idée comment m'en sortir avec une variable qui contient YYYYMMJJ..
Merci