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 :

Décalage liste sans boucle


Sujet :

Python

  1. #1
    Membre actif
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 167
    Points : 205
    Points
    205
    Par défaut Décalage liste sans boucle
    Bonjour

    J'ai une liste = ['1234'], j'aimerais obtenir ['2341'], ['3412'], ['4123']

    Sans utiliser "for", ni "while". J'ai essayé le décalage "x >> 1", mais le résultat ne correspond à mon attente.

    Est-ce possible ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 362
    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 362
    Points : 36 894
    Points
    36 894
    Par défaut
    Salut,

    Citation Envoyé par toumic2.0 Voir le message
    Est-ce possible ?
    Vous pouvez utiliser la fonction roll de numpy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import numpy as np
    >>> ar = np.array([1,2,3,4])
    >>> np.roll(ar, 1)
    array([4, 1, 2, 3])
    >>>
    mais l'appliquer un certain nombre de fois va passer par une boucle.

    De toutes façon pour fabriquer 3 objets à partir de [1, 2, 3, 4] soit vous écrivez 3 lignes de code qui calculent les différents objets, soit vous écrivez une boucle.

    - W

  3. #3
    Membre actif
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 167
    Points : 205
    Points
    205
    Par défaut
    Bonjour
    J'ai trouvé une solution dans un autre site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    c = [1, 2, 3]
    print(c)
    c.insert(0, c.pop())
    print(c)
    c.insert(0, c.pop())
    print(c)
    Les print's
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [1, 2, 3]
    [3, 1, 2]
    [2, 3, 1]

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 726
    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 726
    Points : 31 046
    Points
    31 046
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par toumic2.0 Voir le message
    Sans utiliser "for", ni "while"...
    J'ai trouvé une solution dans un autre site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    c = [1, 2, 3]
    print(c)
    c.insert(0, c.pop())
    print(c)
    c.insert(0, c.pop())
    print(c)
    Oui enfin il n'y a pas de boucle mais c'est tout comme s'il y en avait une. Parce que répéter les mêmes instructions n fois c'est exactement comme écrire une boucle qui se chargerait de la répétition.

  5. #5
    Membre actif
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 167
    Points : 205
    Points
    205
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour


    Oui enfin il n'y a pas de boucle mais c'est tout comme s'il y en avait une. Parce que répéter les mêmes instructions n fois c'est exactement comme écrire une boucle qui se chargerait de la répétition.
    Bonjour Sve@r

    J'aurais peut-être pu créer un boucle pour construire cette répétition

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

Discussions similaires

  1. [XL-2016] boucle pour liste sans doublon
    Par motivator dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/01/2020, 23h50
  2. convertir un tableau en une liste sans passer par une boucle
    Par sallemel dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 04/12/2008, 22h04
  3. Réponses: 3
    Dernier message: 24/04/2006, 19h56
  4. créer des liens automatiquement mais sans boucle
    Par psychoBob dans le forum Langage
    Réponses: 8
    Dernier message: 15/12/2005, 15h20
  5. Réponses: 15
    Dernier message: 24/05/2005, 08h34

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