IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Trier une liste


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut Trier une liste
    Bonjour ,
    Alors voila , j'ai une fonction qui retourne l'indice du plus petit élément d'une liste parmi les x premiers termes .
    Je souhaite ensuite créer une nouvelle fonction qui trie dans l'ordre croissant la liste en utilisant ma fonction précédente .
    Mais j'arrive seulement à la trier dans l'ordre décroissant .. si quelqu'un à une piste . Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    l=[4,1,3,7,6,2]
    def plus_petit_elemi(l,x):
        mini,indice=l[0],0
        for i in range(1,x):
            if l[i]<mini:
                mini=l[i]
                indice=i
        return indice
     
     
    def trie(l):     # trier ordre décroissant
        taille = len(l)
        for i in range(len(l)):
            ind_pp = plus_petit_elemi(l,taille)
            l[ind_pp],l[taille-1] = l[taille-1],l[ind_pp]
            taille-=1
        return l

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    C'est un problème algorithmique ou tu peux utiliser des fonctions déjà existantes du langage ?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    C'est un problème algorithmique , sinon je sais qu'il y a une fonction du langage python qui permet de trier une liste .

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Alors faudrait voir cela sur le forum adéquate, c'est à dire l'algorithmie

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Bonjour,

    pourrai tu ajouter la balise code et respecter les indentations ? Car je ne vois pas le problème actuellement

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par Lyly321 Voir le message
    Mais j'arrive seulement à la trier dans l'ordre décroissant .. si quelqu'un à une piste . Merci
    Essayez de comprendre comment fonctionne le code que vous avez déjà écrit: il prend le plus petit élément d'une sous liste commençant au début pour le ranger à la fin. Pour ranger dans l'ordre inverse, il faut ranger au début le plus petit élément d'une sous liste comprenant le reste de la liste.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    J'avais essayer de remplacer l[taille-1] par l[0] pour mettre le plus petit élément au début de la liste , ce qui marche mais ensuite le reste de la liste n'est toujours pas trier

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par Lyly321 Voir le message
    J'avais essayer de remplacer l[taille-1] par l[0] pour mettre le plus petit élément au début de la liste , ce qui marche mais ensuite le reste de la liste n'est toujours pas trier
    Il faut toujours faire des itérations pour agrandir la partie triée et réduire la partie encore à trier.
    Il faut aussi revoir ce que retourne la fonction qui retourne l'index du plus petit élément.
    En tout cas, c'est un bon exercice pour faire travailler ses méninges avec les index et les listes dont le seul intérêt est dans ce que vous allez découvrir en essayant de le résoudre...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [AJAX] 2 listes liées
    Par Mind-x dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/05/2008, 14h09
  2. Aide svp pour un fontion d'appel de menu
    Par setea7 dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2005, 01h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo