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 :

[Exo] Problèmes - fusion de listes


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut [Exo] Problèmes - fusion de listes
    Bonjour,
    J'étudie python via votre site (génial, tout est clair, net et précis)...
    mais, je suis arrivé à un exercice en particulier, qui est :

    Soient les listes suivantes :
    t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
    Écrivez un petit programme qui crée une nouvelle liste t3. Celle-ci devra contenir tous les éléments des deux listes en les alternant, de telle manière que chaque nom de mois soit suivi du nombre de jours correspondant :
    ['Janvier',31,'Février',28,'Mars',31, etc...].
    J'ai créer le code suivant:

    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
    t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
     
    # Longueur liste / i et création de t3 (nouvelle liste)
    longueur = len(t1)
    i = 0
    t3 = []
     
    # Boucle de traitement
    while i <= longueur:
    	t3.append(t2[i])
    	t3.append(t1[i])
    	i = i + 1
     
    # Affichaget3 
    print(t3)
    Mais ça ne fonctionne pas... je ne sais absolument pas pour quelle raison (je suis sous python 3.x)

    Comment faire?
    Ou ce situe mon problème? (je ne demande pas absolument une résolution, mais une petite aide ^^)

    Merci!! =D

  2. #2
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    longueur te donne la longeur de ton tableau

    ici : 12.

    Mais rappel toi bien qu'en programmation, la première case d'un tableau est la case zero.

    ça devrai te mettre sur la voie de ton erreur.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut
    Owi, ça fonctionne impeccable!
    Merci beaucoup ^^

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    Bonjour,

    et voici deux autres façons plus concises (mais plus difficile à appréhender) de réaliser la même chose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre',
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t3 = []
    for v in zip(t2, t1):
       t3.extend(v)
    et encore plus concis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import operator
    t3 = reduce(operator.add, [(x, y) for x, y in zip(t2, t1)])
    bon pythonage !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut
    Héhé, je ne suis qu'à ce chapitre de l'apprentisage de python : http://python.developpez.com/cours/T...page=Chapitre5

    Je ne vais pas griller les étapes :p
    (même si c'est nettement plus court ^^)

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    oui

    je te donne ces solutions pour plus tard, ne grille pas les étapes

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

Discussions similaires

  1. Problème avec des listes et des variables
    Par Knuckles dans le forum Général Python
    Réponses: 3
    Dernier message: 09/05/2006, 18h24
  2. Petit problèmes avec display list et transformations
    Par Baptiste Wicht dans le forum OpenGL
    Réponses: 5
    Dernier message: 10/02/2006, 17h00
  3. Problème incompréhensible! Fichier + liste
    Par djsbens dans le forum C
    Réponses: 2
    Dernier message: 07/12/2005, 00h30
  4. [STL]Problème itérateur avec list
    Par Fiquet dans le forum SL & STL
    Réponses: 7
    Dernier message: 03/10/2005, 17h54

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