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 :

Fonction ne séparant pas le contenue souhaité dans une liste


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Fonction ne séparant pas le contenue souhaité dans une liste
    Bonjour, je viens de débuter en Python et j'ai vu que lorsqu'on utilise la fonction append dans une liste, on ne peut rajouter qu'un contenue à la fois.J'ai donc essayé de créer une fonction permettant d'en rajouter plus.
    Voila ce que ça donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def multiple_append(nb,liste,*args):
        if type(liste) is not list:
            raise TypeError("Le paramètre à la seconde place n'est pas une liste")
        i = 0
        while i < nb:
            liste.append(args)
            i += 1
    ma_liste = ["Salut"]
    multiple_append(1,ma_liste,"Je","m'appelle","Thomas")
    print(ma_liste)

    Sauf que le "je m'appelle Thomas" n'est pas séparer et le résultat est le suivant :
    ['Salut', ('Je', "m'appelle", 'Thomas')]
    Je crois que le problème viens de la manière dont la boucle compte (i) ou alors du args(enfaite j'essaye de faire en sorte qu'on puisse entré autant d'argument après le nb,liste
    Je suis sur Windows 7 et ma Version de Python est 3.81

  2. #2
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    il a ajouté tous les arguments comme un tuple (avec les parenthèse)

    je test mais :
    pourquoi demander un compteur max ?

    pourquoi ne pas concaténer tes listes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste3 = liste 1 + liste2
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ma_liste = ["Salut"]
    liste2 = ["Je","m'appelle","Thomas"]
    ma_liste= ma_liste + liste2

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 282
    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 282
    Points : 36 769
    Points
    36 769
    Par défaut
    Salut,

    .append ajoute un item à la liste. Si on veut ajouter une liste d'éléments, il faut utiliser .extend.
    Si vous débutez avec Python, il y a de bons tutos. qui contiennent des chapitres entiers sur les listes avec des exercices corrigés. C'est quand même plus simple pour apprendre les bases.

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

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 17
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Re
    J'étais déjà au courant de l'existance de la fonction extend, je voulais juste créer une fonction avec mes moyens
    Mais c'est bon j'ai réussi à la créer avec la méthode de fraborak.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 282
    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 282
    Points : 36 769
    Points
    36 769
    Par défaut
    Citation Envoyé par Sable_Rouge Voir le message
    J'étais déjà au courant de l'existance de la fonction extend, je voulais juste créer une fonction avec mes moyens
    Mais c'est bon j'ai réussi à la créer avec la méthode de fraborak.
    liste1 + liste2 est l'emballage syntaxique de liste1.__add__(liste2) qui déroule liste1.extend(liste2).

    Après si vous voulez faire la même chose basé sur .append, il faut faire une boucle et ajouter les éléments l'un après l'autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def multiple_append(liste,*args):
          for e in args:
               liste.append(e)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. extraction contenu txt dans une liste
    Par nikaulas dans le forum Général Python
    Réponses: 11
    Dernier message: 28/10/2013, 14h42
  2. Réponses: 5
    Dernier message: 14/12/2011, 21h00
  3. Réponses: 1
    Dernier message: 06/06/2011, 16h47
  4. Réponses: 2
    Dernier message: 14/11/2008, 18h31
  5. copier contenu requete dans une liste
    Par bellamouna dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/09/2008, 13h26

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