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 :

Supprimer des doublons


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut Supprimer des doublons
    Bonjour, je débute le python depuis quelques temps et j'aimerais créer une petite fonction qui supprimerai les doublons d'une liste générer aléatoirement, quelqu'un pour m'aider ?
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Utilise la méthode shuffle du module random et tu n'auras pas de doublons.

  3. #3
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut Non
    Citation Envoyé par Hominidé Voir le message
    Bonjour,
    Utilise la méthode shuffle du module random et tu n'auras pas de doublons.
    Désolé mais ça ne marche pas...Nom : s.PNG
Affichages : 1725
Taille : 26,6 Ko

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Excuse, je me suis planté dans ma recommandation ...
    Sinon ,répond il à ton interrogation ?

  5. #5
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut non
    Citation Envoyé par Hominidé Voir le message
    Excuse, je me suis planté dans ma recommandation ...
    Sinon ,répond il à ton interrogation ?
    malheureusement non regarde...Nom : sss.PNG
Affichages : 1181
Taille : 40,2 Ko

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par défaut
    Pourtant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     l = [1,3,1,1,2,2]
    l = list(set(l))
    print(l)
    [1, 2, 3]

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par jesaispasmec514 Voir le message
    malheureusement non regarde...
    En ligne 22 il te faut affecter la liste sinon elle est perdue !!!
    De plus (question de réflexion) c'est plus rapide de trier une liste épurée que trier une liste puis ensuite l'épurer. Et (toujours dans la réflexion), que crois-tu que fera la boucle for i in range(len(maListe)) de la ligne 36 alors qu'en ligne 10 il est écrit maListe=[] ???
    Et accessoirement, ici on poste les codes au lieu de montrer des images. Ca nous permet éventuellement de les recopier pour les tester.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Deux remarques qui ne sont pas en rapport direct avec ton problème de doublons et de tri.

    Dans ta dernière capture d'écran, pourquoi initialiser la variable valeurMin (qu'il faut plutôt écrire valeur_min pour être conforme aux conventions de nommage PEP8) avec une si grande valeur ?
    Tu connais la valeur la plus grande que tu risques d'avoir dans ta liste puisque c'est la balise supérieure passée à la méthode randint qui a généré les nombres aléatoires.
    Il suffit de l'initialiser comme ceci
    Vers la fin de ta capture, tu peux simplifier la boucle qui permet de récupérer les éléments de ta liste 'MaListe' (qui au passage est vide (ligne 10) voir remarque de Sve@r ci-dessus; et qu'il faut écrire ma_liste ... PEP8)
    Tu utilises cette formulation pour pouvoir récupérer les indices des éléments dans la liste en même temps les éléments.
    Il y a un autre moyen plus concis de le faire mais cela fait appel à une fonction sur des itérables que tu n'as peut-être pas encore vue, la fonction enumerate.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    # pour chaque index et élément de la liste
    for i, element in enumerate(ma_liste):
        # Si cout à l'indice i est plus petit que valeur_min
        if element < valeur_min:
            # Sauvegarde de cout dans valeur_min
            valeur_min = element
            # Sauvegarder l'indice i dans indice_valeur_min
            indice_valeur_min = i
            ...

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ocornet Voir le message
    La fonction range(nombre) retourne une séquence d'entiers qui va de zéro (inclus) à nombre (exclus)
    Oui mais comme ça commence à 0, cela fait bien "n" entiers
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Oui mais comme ça commence à 0, cela fait bien "n" entiers
    En effet ... on dirait que je n'ai pas assez dormi
    Le pire c'est que je me suis relus ...

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ocornet Voir le message
    Le pire c'est que je me suis relus ...
    Je pense que c'est le (0, n-1) qui t'a trompé. Tu as assimilé ça à la borne max du range. Je dis ça parce que moi aussi, quand j'ai lu ton commentaire, j'ai fait la même erreur et ai pensé "oui, s'il va jusqu'à n-1 exclu cela fait bien n-1 valeurs". C'est après que j'ai de nouveau regardé et compris "non, n-1 c'est la borne du randint, le range lui il va jusqu'à n".
    C'est dommage parce que ce commentaire était en fait un des seuls trucs qui tient la route dans ce code et toi tu viens et tu le bâches là dessus
    Ceci dit, il mérite. Il arrive avec son pseudo de looser (parce que "jesaispasmec" ça sent franchement pas le type qui en veut et qui va se battre pour savoir), nous met des copies d'écran même pas complètes et se contente de dire "ça marche pas" sans même faire l'effort de réfléchir un minimum sur le pourquoi du comment donc je ne vais pas le plaindre.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Je pense que c'est le (0, n-1) qui t'a trompé. Tu as assimilé ça à la borne max du range. Je dis ça parce que moi aussi, quand j'ai lu ton commentaire, j'ai fait la même erreur et ai pensé "oui, s'il va jusqu'à n-1 exclu cela fait bien n-1 valeurs". C'est après que j'ai de nouveau regardé et compris "non, n-1 c'est la borne du randint, le range lui il va jusqu'à n".
    C'est dommage parce que ce commentaire était en fait un des seuls trucs qui tient la route dans ce code et toi tu viens et tu le bâches là dessus
    Ceci dit, il mérite. Il arrive avec son pseudo de looser (parce que "jesaispasmec" ça sent franchement pas le type qui en veut et qui va se battre pour savoir), nous met des copies d'écran même pas complètes et se contente de dire "ça marche pas" sans même faire l'effort de réfléchir un minimum sur le pourquoi du comment donc je ne vais pas le plaindre.
    Merci pour toutes ses aides précieuses mais il me reste une chose à faire, dans le code ci-dessous je dois utiliser une méthode de tri par fusion avec une notion de récursivité mais je n'ai aucune idée de comment faire, une idée ?


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    import time
    import random
     
     
    # ici "n" sera la longueur de notre liste aléatoire
     
    n = input("Entrez valeurs:")
     
    # "l" déterminera si on tri les valeurs dans l'ordre croissant ou décroissant
     
    l = input("Entrez 1 ou 2 (soit 1 ordre croissant et 2 ordre décroissant): ")
     
     
    n = int(n)
    l = int(l)
     
    ma_liste = []
     
    #générer une liste n entiers aléatoires compris entre 0 et n-1
     
    rdm = [random.randint(0, n-1) for i in range(n)]
     
    #trier la liste elle même par ordre croissant avec la méthode de tri par fusion avec la notion de récursivité
     
     
    # supprimer ou non les doublons
     
     
    #début du timer
     
    debut = time.time()
     
    # initialiser variable indiceValeurMin à  -1
    indice_valeur_min = -1
     
    # initialiser variable valeurMin avec un nombre très grand
    valeur_min = 10000000
     
    # pour chaque index et élément de la liste
    for i, element in enumerate(ma_liste):
        # Si cout à l'indice i est plus petit que valeur_min
        if element < valeur_min:
            # Sauvegarde de cout dans valeur_min
            valeur_min = element
            # Sauvegarder l'indice i dans indice_valeur_min
            indice_valeur_min = i
     
    # Si indiceValeurMin est différent de -1
    if indice_valeur_min != -1:
      #Afficher indiceValeurMin et valeurMin
      print(indice_valeur_min, ":", valeur_min)
     
    #fin du timer
     
    fin = time.time()
     
    print(rdm, (fin - debut))

  13. #13
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Par respect pour les personnes qui t'aident, mets tes extraits de code entre les balises CODE pour une bonne lisibilité.
    En haut de l'éditeur tu as un bouton #, ça va automatiquement insérer les balises à l'endroit où est ton curseur.

    Nom : code.png
Affichages : 1019
Taille : 1,1 Ko

    Et ça apparaitra comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import time
    import random
     
     
    # ici "n" sera la longueur de notre liste aléatoire
    n = input("Entrez valeurs:")
     
    # "l" déterminera si on tri les valeurs dans l'ordre croissant ou décroissant
    l = input("Entrez 1 ou 2 (soit 1 ordre croissant et 2 ordre décroissant): ")
     
    n = int(n)
    l = int(l)

  14. #14
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut
    Citation Envoyé par ocornet Voir le message
    Par respect pour les personnes qui t'aident, mets tes extraits de code entre les balises CODE pour une bonne lisibilité.
    En haut de l'éditeur tu as un bouton #, ça va automatiquement insérer les balises à l'endroit où est ton curseur.

    Et ça apparaitra comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import time
    import random
     
     
    # ici "n" sera la longueur de notre liste aléatoire
    n = input("Entrez valeurs:")
     
    # "l" déterminera si on tri les valeurs dans l'ordre croissant ou décroissant
    l = input("Entrez 1 ou 2 (soit 1 ordre croissant et 2 ordre décroissant): ")
     
    n = int(n)
    l = int(l)
    c'est noté X)

  15. #15
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par jesaispasmec514 Voir le message
    Merci pour toutes ses aides précieuses mais il me reste une chose à faire, dans le code ci-dessous je dois utiliser une méthode de tri par fusion avec une notion de récursivité mais je n'ai aucune idée de comment faire, une idée ?
    En résumé tu veux dire que tu dois implémenter la fonction de tri toi-même plutôt que d'utiliser une méthode existante ?

  16. #16
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par jesaispasmec514 Voir le message
    il me reste une chose à faire, dans le code ci-dessous je dois utiliser une méthode de tri par fusion avec une notion de récursivité mais je n'ai aucune idée de comment faire, une idée ?
    Si vous n'avez pas d'idée vous pouvez toujours demander à votre moteur de recherché préféré ce qu'il trouve. Wikipédia a un excellent article sur ce sujet.

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

  17. #17
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut
    Citation Envoyé par ocornet Voir le message
    En résumé tu veux dire que tu dois implémenter la fonction de tri toi-même plutôt que d'utiliser une méthode existante ?
    Oui exactement

  18. #18
    Membre averti
    Homme Profil pro
    eleve
    Inscrit en
    Novembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : eleve

    Informations forums :
    Inscription : Novembre 2020
    Messages : 31
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Si vous n'avez pas d'idée vous pouvez toujours demander à votre moteur de recherché préféré ce qu'il trouve. Wikipédia a un excellent article sur ce sujet.

    - W
    oui mais je précise que je suis débutant et que j'aurais donc besoins des explications précise de quelqu'un qui s'y connait vraiment avec l'exemple placer dans mon programme que d'une forme généralisé trouver sur internet qui sera vague

  19. #19
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jesaispasmec514 Voir le message
    mais il me reste une chose à faire, dans le code ci-dessous je dois utiliser une méthode de tri par fusion avec une notion de récursivité mais je n'ai aucune idée de comment faire,
    oui mais je précise que je suis débutant et que j'aurais donc besoins des explications précise de quelqu'un qui s'y connait vraiment
    une idée ?
    Euh ouais, j'ai l'idée que t'es pas sorti du sable.

    Déjà, une petite précision suite à ta remarque tendancieuse, on s'y connait tous vraiment. On est tous capables de coder un tri-fusion en récursif (d'autant plus que l'article de Wikipedia donné par wiztricks va même jusqu'à donner différents exemples d'algorithme et qu'il ne reste qu'à les traduire en Python) et ce n'est pas en nous lançant des banderilles de maternelle style "t'es même pas cap d'écrire un code tri-fusion en Python" qu'on te l'écrira. Ce n'est pas notre but, et ce n'est pas non plus censé être ton but. Et ça fait aussi parties des règles officielles de ce forum (chapitre IV). Bref pour résumer, on se connait tous entre nous de par nos multiples posts Python qu'on écrit et que les autres lisent et l'opinion que peut avoir de nous un brimborion comme toi ne nous atteint pas. Si tu veux un code tout fait, attend le corrigé que te donnera ton prof. Accessoirement tu ne feras croire à personne qu'un prof puisse donner un truc aussi évolué qu'un tri-fusion à un débutant qui ne serait même pas au niveau d'avoir vu la notion de récursivité en cours. Soit t'as eu le cours et tu es censé avoir le niveau, soit tu ne l'as pas eu et tu veux apprendre par toi-même (louable) mais dans ce cas, il faut commencer plus modestement (la factorielle par exemple).

    Donc si tu connais la récursivité, faire un tri-fusion de (par exemple) 10 éléments, c'est alors commencer par faire un tri-fusion des 5 éléments de gauche, puis faire un tri-fusion des 5 éléments de droite. Une fois que chaque "sous-tableau" est lui-même trié, il suffit de les fusionner ensembles. C'est probablement l'algorithme de fusion qui est le plus difficile mais pas vraiment compliqué si tu l'assimiles à un appareillage. C'est à dire que tu places un indice pour chaque tableau puis tu compares les éléments de chaque tableau à leurs indices, et tu ne fais évoluer que l'indice lié au tableau contenant le plus petit des deux. Ainsi tu ne lis que les éléments d'un tableau tant qu'ils sont plus petit que l'autre et les indices ne montant que quand c'est nécessaire. Reste juste à gérer le cas où un indice a atteint le bout mais ça reste faisable.
    Exemple de fusion entre deux tableaux triés
    Code python : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #!/usr/bin/env python3
    # coding: utf-8
     
    import random
     
    TA=tuple(sorted(random.randint(0, 100) for i in range(10)))
    TB=tuple(sorted(random.randint(0, 100) for i in range(10)))
    print(TA)
    print(TB)
     
    ia=0
    ib=0
    TC=list()
     
    while ia < len(TA) or ib < len(TB):
    	if ib == len(TB):
    		TC.append(TA[ia])
    		ia+=1
    		continue
    	# if
    	if ia == len(TA):
    		TC.append(TB[ib])
    		ib+=1
    		continue
    	# if
    	if TA[ia] <= TB[ib]:
    		TC.append(TA[ia])
    		ia+=1
    	else:
    		TC.append(TB[ib])
    		ib+=1
    	# if
    # while
    print(TC)

    Et pour trier 5 éléments (ie les 5 éléments de gauche) cela peut se faire en triant les 3 premiers de gauches d'un côté, et les 2 de droite de l'autre. Et etc etc jusqu'à ce qu'il n'y ait plus qu'un seul élément à trier.

    PS: accessoirement, ton besoin a changé depuis le début où il n'était question que de supprimer des doublons et ça non plus on n'aime pas (enfin moi je n'aime pas). Ca fait celui qui demande un doigt, on donne le doigt alors il demande un bras.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [RegEx] Expression régulière pour supprimer des doublons
    Par cbroissa dans le forum Langage
    Réponses: 5
    Dernier message: 20/05/2017, 01h59
  2. [MySQL] Supprimer des doublons existants
    Par Little_flower dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/02/2008, 09h23
  3. Supprimer des doublons
    Par gta1234 dans le forum Modélisation
    Réponses: 1
    Dernier message: 16/08/2007, 20h05
  4. [Collections]Supprimer des doublons dans une ArrayList
    Par emie31 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/12/2005, 15h15
  5. Réponses: 2
    Dernier message: 07/07/2004, 17h44

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