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 :

Liste et majuscule


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Par défaut Liste et majuscule
    Bonjour,

    J'aimerais que dans une liste d'éléments, la première lettre de chaque mot soit en majuscule. Par exemple pour la liste suivante : liste = ["PEDro poula","moli melo"] on obtiendrait liste = ["Pedro Poula","Meli Melo"].

    Merci par avance

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 191
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Avec capwords :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    s="meli melo"
    from string import capwords
    print (capwords(s))
     
    Meli Melo

  3. #3
    Membre averti
    Femme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Par défaut
    Je préfère une méthode purement "algorithmique".
    J'avais plus pensé à quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liste = ["PEDro poula","moli melo"]
    for i in range(len(liste)-1):
    	if liste[i][0]:
    		liste[i][0] = liste[i][0].upper()
    Mais j'avais obtenu une erreur.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 191
    Billets dans le blog
    47
    Par défaut
    Par exemple dans la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    In [1]: s="meli"
     
    In [2]: s[0].upper()
    Out[2]: 'M'
     
    In [3]: s[1:]
    Out[3]: 'eli'
     
    In [4]: s[0].upper()+s[1:]
    Out[4]: 'Meli'
    Mais si tu as "meli melo" et qu'il faut "Meli Melo", il faut commencer par séparer les deux mots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    In [5]: s="meli melo"
     
    In [6]: s.split()
    Out[6]: ['meli', 'melo']
    Si tu n'as pas le droit à split()...

  5. #5
    Membre averti
    Femme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Par défaut
    Oui, je veux faire 'Meli Melo', j'ai donc conçu ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    liste = ["meli","melo"]
    for i in range(len(liste)-1):
    	print(liste[i].upper()+liste[1:], end="")
    mais j'obtiens l'erreur suivante :

    file "./prog.py", line 3, in <module>
    TypeError: Can't convert 'list' object to str implicitly

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 191
    Billets dans le blog
    47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    liste = ["meli","melo"]
     
    liste[0]
    'meli'
     
    liste[1]
    'melo'
     
    liste[0].upper()
    'MELI'
     
    liste[0][0].upper()
    'M'
    C'est seulement la première lettre qu'il faut mettre en majuscule.

    Le message d'erreur vient de liste[1:], il faut d'abord récupérer liste[i] avant d'extraire la sous-chaîne : liste[i][1:].

  7. #7
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,
    Ou bien…
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> lst = ["meli","melo"]
    >>> for i in lst:
    	print(i[0].upper()+i[1:], end=" ")
     
     
    Meli Melo 
    >>>
    Clodion

Discussions similaires

  1. [XL-2007] Renomer liste d'un répertoire en majuscule ou minuscule
    Par eliot.raymond dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 23/12/2013, 13h25
  2. Réponses: 4
    Dernier message: 23/03/2009, 13h50
  3. liste de resultats en majuscule
    Par Invité dans le forum IHM
    Réponses: 4
    Dernier message: 06/07/2008, 01h32
  4. Liste Deroulante - Saisie Majuscules
    Par benejepo dans le forum Access
    Réponses: 2
    Dernier message: 05/03/2007, 10h27

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