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 :

FOR avec 2 RANGE


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 115
    Par défaut FOR avec 2 RANGE
    Salut,

    débutant en python, je suis tombé la dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in list(range(4380, 17520)) + list(range(0, 4380)):...
    c'est bien une concaténation de 2 RANGE, mais en commençant par 4380-->17520 puis ensuite 0-->4380 ?
    merci de votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Salut,

    Citation Envoyé par gargle Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in list(range(4380, 17520)) + list(range(0, 4380)):...
    c'est bien une concaténation de 2 RANGE, mais en commençant par 4380-->17520 puis ensuite 0-->4380 ?
    C'est le genre de question à poser à l'interpréteur Python (avec des ranges plus petits):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> list(range(3, 10)) + list(range(0, 3))
    [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]
    Les questions à poser ici seraient: comment éviter de créer ces "grosses" listes dans ce cas (i.e. garder l'intérêt du générateur "range")? où comment rendre ce code plus "lisible" ? Peut être avec itertools.chain:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> from itertools import chain
    >>> list(chain(range(3, 10), range(0, 3)))
    [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut 2 range
    Bonjour,

    Comme le dit wiztricks l'annonce, il est possible de comprendre ce code de la manière suivante :

    i va prendre les valeurs successives de 4380 à 17519 puis de 0 à 4379


    Cdt,
    Sunrise

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 115
    Par défaut
    Salut,

    merci beaucoup pour la confirmation.
    effectivement, je n'avais pas pensé a la console (je viens du C )

    Pour info, c'est du code python que je converti en C++.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    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 715
    Par défaut
    Citation Envoyé par gargle Voir le message
    effectivement, je n'avais pas pensé a la console (je viens du C )
    C'est un gros avantage par rapport aux langages compilés: c'est bien plus facile/rapide de voir si çà le fait comme on l'a compris.

    Citation Envoyé par gargle Voir le message
    Pour info, c'est du code python que je converti en C++.
    Si c'est juste pour que ce soit plus rapide, peut être que la visite de Cython sera intéressante.

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

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

Discussions similaires

  1. Boucle for avec saut
    Par michel71 dans le forum Delphi
    Réponses: 3
    Dernier message: 25/02/2007, 16h16
  2. boucle for avec condition
    Par Daniel Magron dans le forum Delphi
    Réponses: 4
    Dernier message: 22/01/2007, 16h18
  3. Réponses: 2
    Dernier message: 28/08/2006, 18h17
  4. [VBA-E]Pb avec objet Range
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2006, 16h02
  5. [VB6] boucle for avec liste de valeur defini
    Par Morpheus2144 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/04/2006, 18h12

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