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 :

problème d'exécution des listes [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2024
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2024
    Messages : 13
    Par défaut problème d'exécution des listes
    Bonjour, encore désolé de vous déranger encore mais j'expérimente sur les listes et j'ai un problème, je veux créer une liste de liste pour une sorte d'archive qui me facilite la tâche (je vous épargne les détails) et donc lorsque que je demande a l'ordinateur de l'écrire, il m'affiche les crochets et les guillemets, et je n'arrive pas a les retirer.

    Code:

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    liste1 = ["chat", "chien"]
    liste2 = ["terre", "saturne", "neptune"]
    liste3 = ["salon", "cuisine"]
    #autres listes
     
    listet1 = [liste1, liste2, liste3]
    print(listet1)
     
    Résultat:
    [['chat', 'chien'], ['terre', 'saturne', 'neptune'], ['salon', 'cuisine']]


    Merci d'avance pour votre réponse, aurevoir.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,
    [L1 , L2 ] crée une liste avec les objets L1 et L2, si ces objets sont des listes, le "print" délimitera le contenu de chacune.
    Si vous voulez concaténer les éléments de chaque liste, l'opération à faire sera un "+" (i.e. L1 + L2).
    encore désolé de vous déranger encore mais j'expérimente sur les listes et j'ai un problème
    Tous les tutos ont plusieurs chapitres sur les listes et proposent des exercices pour apprendre à jouer avec.
    Vous êtes supposé avoir ouvert un tuto avant de demander de l'aide: vous n'avez aucune excuse!

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

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 543
    Par défaut
    la question sous-jacente, c'est: comment est-ce vous voulez afficher les données ? (ce sont des chaines, donc il y a les guillemets, ils sont dans des listes donc il y a les crochets)

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    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 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par TristanTh Voir le message
    Bonjour, encore désolé de vous déranger
    Non non, on est là pour ça.

    Citation Envoyé par TristanTh Voir le message
    encore mais j'expérimente sur les listes et j'ai un problème, je veux créer une liste de liste pour une sorte d'archive qui me facilite la tâche (je vous épargne les détails) et donc lorsque que je demande a l'ordinateur de l'écrire, il m'affiche les crochets et les guillemets, et je n'arrive pas a les retirer.
    Hé oui. Quand on affiche un objet Python, il l'affiche dans un formalisme assez simpliste.

    Citation Envoyé par TristanTh Voir le message
    Merci d'avance pour votre réponse, aurevoir.
    Euh oui mais la question manque de précision. Quel est ton but réel ? Parce que "retirer les crochets" ce n'est pas super précis.

    Si tu veux afficher chaque liste de façon indépendante, tu peux boucler sur la première et de là afficher la seconde en passant par un str.join()...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/env python
    # coding: utf-8
     
    liste1 = ["chat", "chien"]
    liste2 = ["terre", "saturne", "neptune"]
    liste3 = ["salon", "cuisine"]
    #autres listes
     
    listet1 = [liste1, liste2, liste3]
    for l in listet1:
    	print(", ".join(l))

    Si tu veux afficher le tout en une ligne, il te faut alors créer une liste en 1D issue de ta liste 2D, liste 1D que tu pourras alors afficher ensuite
    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
    #!/usr/bin/env python
    # coding: utf-8
     
    liste1 = ["chat", "chien"]
    liste2 = ["terre", "saturne", "neptune"]
    liste3 = ["salon", "cuisine"]
    #autres listes
     
    listet1 = [liste1, liste2, liste3]
    prn=list()
     
    for l in listet1:
    	prn.extend(l)
     
    print(", ".join(prn))

    Après tu as des outils particuliers comme pprint (affichage "élégant" du module "pprint") ou itertools.chain du module "itertools".

    Citation Envoyé par TristanTh Voir le message
    pour une sorte d'archive qui me facilite la tâche
    Tu as pensé aux dictionnaires ?
    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]

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Euh oui mais la question manque de précision. Quel est ton but réel ? Parce que "retirer les crochets" ce n'est pas super précis.
    La question montre que le PO ne sait pas trop ce que programmer veut dire et qu'il n'imagine même pas que faire ses premiers pas avec un tuto. est nécessaire.
    Comme il ne sait pas programmer, probable que ce qu'il nous demande de faire fonctionner ne sera pas la bonne solution.

    Citation Envoyé par Sve@r Voir le message
    Non non, on est là pour ça.
    Relisez donc les règles de ces forums...


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

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    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 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Relisez donc les règles de ces forums...
    Ok

    I - Notre objectif
    Nous préférons accueillir en priorité les professionnels, qui viennent ici pour se former, trouver des réponses techniques, etc. Bien entendu les débutants sont nombreux à venir se former sur www.developpez.com, mais comprenez que c'est important d'encourager les développeurs confirmés à fréquenter ces forums pour vous aider, car les forums ne peuvent pas vivre sans eux. Ce sont eux qui peuvent vous aider en répondant à vos questions.
    D'ailleurs, nous tenons à remercier ceux d'entre vous qui passent leur temps à répondre du mieux qu'ils peuvent à toutes les questions, dans le simple but de donner un coup de main et de faire partager leur expérience.

    IV-N. Lycéen, collégien, étudiant (bref un apprenti développeur)
    Vous êtes le bienvenu ici pour vous former.
    ..nous serons bien évidemment tout à fait d'accord pour vous aider à résoudre votre problème,
    Voilà. Y aurait-il dans ces règles quelques incohérences avec ma première remarque ???
    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]

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Y aurait-il dans ces règles quelques incohérences avec ma première remarque ???
    IV-I. Avant de poser vos questions
    Commencez par parcourir le forum pour savoir si votre question n'a pas été déjà posée, le cas échéant utilisez l'option de recherche du forum, et pensez aussi à parcourir la FAQ et la liste des tutoriels sur https://www.developpez.com/ dans la section concernant le langage que vous utilisez. Il y a de grandes chances que votre réponse y figure déjà.

    N'oubliez pas avant toute chose de consulter la liste des cours et tutoriels : https://www.developpez.com/cours/
    Vous avez délibérément tronqué:
    IV-N. Lycéen, collégien, étudiant (bref un apprenti développeur)
    Vous êtes le bienvenu ici pour vous former.

    Vous former, cela veut dire lire les cours et tutoriels : https://www.developpez.com/cours/ et éventuellement poser vos questions en français correct si vous avez besoin d'aide, dans un seul forum, et dans le respect des règles du forum....
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    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 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Vous avez délibérément tronqué:
    Oui délibérément parce que cette partie n'avait rien à voir dans la polémique (déjà que la polémique que toi tu as délibérément ouverte pour pas grand chose n'a rien à voir avec le sujet ).
    Alors la partie sur vérifier que la question n'a pas déjà été posée, alors cette question a-t-elle déjà été posée ? Et la partie sur la lecture des cours et tutoriels n'interdit pas de poser des questions (c'est d'ailleurs même écrit en toutes lettres), et SURTOUT ne m'interdit pas d'y répondre. Et puis je n'ai pas souvenir d'un tutoriel indiquant comment mettre à plat une liste de listes.
    Alors oui celui qui a 6 semaines à passer à lire un tutoriel de A à Z pourra y arriver en associant les diverses notions éparses qui s'y trouvent et en y associant une certaine dose d'expérience forgée par divers exercices et exemples ; mais encore une fois, si on peut aider à accélérer je ne vois rien dans les règles qui l'interdisent, y compris donc dans la partie que j'avais effectivement délibérément tronquée.
    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]

  9. #9
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    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 : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour.
    Citation Envoyé par wiztricks Voir le message
    et qu'il n'imagine même pas que faire ses premiers pas avec un tuto. est nécessaire.
    ah bon? . Je ne vois rien dans ce post qui permet une telle affirmation.
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Envie de développer pour Android avec Python? Pensez à Kivy
    Kivy c'est aussi ça: https://www.youtube.com/@MPython_Alaplancha

  10. #10
    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
    Citation Envoyé par TristanTh Voir le message
    Bonjour, encore désolé de vous déranger encore mais j'expérimente sur les listes et j'ai un problème, je veux créer une liste de liste pour une sorte d'archive qui me facilite la tâche (je vous épargne les détails) et donc lorsque que je demande a l'ordinateur de l'écrire, il m'affiche les crochets et les guillemets, et je n'arrive pas a les retirer.

    Code:
    liste1 = ["chat", "chien"]
    liste2 = ["terre", "saturne", "neptune"]
    liste3 = ["salon", "cuisine"]
    #autres listes

    listet1 =
    [liste1, liste2, liste3]
    print(listet1)

    Résultat:
    [['chat', 'chien'], ['terre', 'saturne', 'neptune'], ['salon', 'cuisine']]
    Ce comportement est tout à fait normal. Lorsque vous demandez à Python d'afficher une liste (ou une liste de listes) directement avec print(), il vous montre sa représentation interne. Cette représentation est conçue pour être non ambiguë et utile pour le débogage : elle montre clairement la structure de la liste, ses éléments, et le type de ces éléments (par exemple, les guillemets indiquent des chaînes de caractères), comme @umfred l'a clairement dit dans sa réponse.

    Votre variable listet1 est une liste qui contient d'autres listes comme éléments. C'est ce qu'on appelle une liste imbriquée ou une liste de listes. Pour accéder aux chaînes de caractères individuelles ("chat", "chien", "terre", etc.), un seul niveau de boucle ne suffit plus.

    C'est un concept fondamental : si vos données ont plusieurs niveaux, votre code pour y accéder aura probablement aussi plusieurs niveaux (ici, des boucles imbriquées). L'indentation en Python rend cette structure de code particulièrement lisible.

    Les boucles for sont fondamentales et polyvalentes. Une fois que vous les maîtrisez, d'autres techniques (voir réponse de @josmiley), souvent plus concises pour des tâches spécifiques, peuvent être explorées. Il est cependant primordial de comprendre d'abord le fonctionnement des boucles.

    Bref,

    Le développement logiciel est intrinsèquement lié à la résolution de problèmes. Savoir où et comment chercher des informations est une compétence aussi fondamentale que de savoir écrire du code.
    Prenez toujours le temps de décomposer les solutions que vous trouvez. Testez-les ligne par ligne si nécessaire. Modifiez-les pour voir comment leur comportement change. Assurez-vous de saisir la logique sous-jacente. C'est un apprentissage actif, bien plus profitable que l'apprentissage passif du copier-coller.

    Lorsque vous maîtrisez bien les boucles, explorez plus en détail la méthode str.join() pour les listes de chaînes. Comprenez ses avantages et ses cas d'utilisation.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  11. #11
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2024
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2024
    Messages : 13
    Par défaut
    Merci énormément pour vos retours, ils m'ont aider et maintenant je comprend mieux.

    Et surtout la prochaine fois, je regarderais en détails les règles relative au forum et les tutos nécessaire.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Représentation intervallaire des listes arborescentes
    Par PMAR dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/11/2004, 09h35
  2. [servlet] gestion des listes d'erreurs ?
    Par MatMeuh dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 27/10/2004, 10h19
  3. [html:text][indexed]Valeurs des liste null...
    Par thibaut dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 08/09/2004, 09h36
  4. [glut] de l'intérêt des listes
    Par khayyam90 dans le forum OpenGL
    Réponses: 3
    Dernier message: 26/07/2004, 10h35
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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