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 :

Boucle for "multiple"


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 7
    Par défaut Boucle for "multiple"
    Bonjour,

    Petite question bête mais qui me fait m'arracher les cheveux car je ne parviens pas à trouver la bonne syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for tmp in instances[grp]['Empl. prélèvement']:
        print(tmp)
    J'ai actuellement le code suivant, qui me renvoie cela :
    A3-5-A
    C5-20-A
    C6-16-A
    A4-28-C
    A4-30-A


    Je souhaiterais faire quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for tmp in (instances[grp]['Empl. prélèvement'] & var):
        print(tmp)
    de sorte à ce que l'itérateur tmp prenne toutes les valeurs de instances[grp]['Empl. prélèvement'] mais également celle de var.

    Je ne sais pas si cela change quelque chose mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type(instances[grp]['Empl. prélèvement'])
    renvoie pandas.core.series.Series tandis que var est simplement une str.

    Bien sûr, je ne cherche pas à simplement faire un print, c'est juste pour l'exemple, et je sais qu'il y a sûrement d'autres façon de faire (créer une copie de la série et y intégrer var par exemple), mais je souhaiterai vraiment connaître la syntaxe ne serait-ce que par curiosité.

    Merci !

  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,

    Ça serait plus facile de comprendre ce que vous voulez en ajoutant un exemple de la sortie attendue...

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

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

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

    Ça serait plus facile de comprendre ce que vous voulez en ajoutant un exemple de la sortie attendue...

    - W
    Bonjour et merci de cette réponse,

    Et bien, si par exemple la variable var contient 'A3-5-B' je souhaiterais obtenir :
    A3-5-A
    C5-20-A
    C6-16-A
    A4-28-C
    A4-30-A
    A3-5-B

    En l'occurrence, il suffirait ici de faire un print(var) en dehors de la boucle, mais j'insiste sur le fait que c'est juste pour simplifier mon exemple. Mon vrai code fait intervenir une triple boucle, mais si j'avais la solution à l'exemple donné, je pense que cela résoudrai mon problème.

    Merci d'avance !

  4. #4
    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,

    Il n'y a pas d'instructions pour faire çà, il faut créer un générateur qui renvoie les éléments du premier itérable, puis continue avec le 2nd, ... ou utiliser itertools.chain.
    note: on peut aussi fabriquer des listes et les concaténer genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for tmp in list(instances[grp]['Empl. prélèvement']) + [ var ]:
         ...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 7
    Par défaut
    Je pense que je devrais trouver mon bonheur dans ce que tu proposes, merci !

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

Discussions similaires

  1. [XL-2010] VBA Excel / Boucle For et If multiples
    Par franckm38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/03/2016, 10h42
  2. [Débutant] Boucle for et multiplication de valeurs qui se suivent dans un vecteur
    Par preto91 dans le forum MATLAB
    Réponses: 10
    Dernier message: 11/02/2014, 17h16
  3. [XL-2003] boucle For avec multiple conditions d'arret
    Par yvespi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2010, 09h30

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