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ébutant python : rotation des éléments d'un tableau


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 41
    Par défaut Débutant python : rotation des éléments d'un tableau
    Bonjour,

    Je souhaite faire une rotation des éléments d'un tableau à 12 éléments.
    Je voudrais que T[0], T[1], ...T[10],T[11] devienne T[1], T[2], ...T[11], T[0].

    Je sais qu'on peut faire une affectation "croisée" comme A, B = B, A ou même "en rotation" comme A, B, C = B, C, A.
    Donc, je pourrais écrire, à la rigueur, mon affectation multiple avec un seul signe égal, parce que mon tableau n'est pas trop grand. Mais peut-on faire cela avec un grand tableau ?

    J'ai quand même pu obtenir ce que je voulais en faisant une boucle comme on peut le faire dans d'autres langages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A = T[0]
    for n in range(0,10):
        T[n] = T[n+1]
    T[11] = A
    mais peut-on utiliser plus astucieusement les possibilités de Python pour faire cela ?

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    mais peut-on utiliser plus astucieusement les possibilités de Python pour faire cela ?
    Oui voir l'objet deque et sa méthode rotate.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 41
    Par défaut
    Merci fred pour ta réponse,

    Cependant, je vais en rester à ma solution car le but est de faire cette rotation en micropython, avec l'éditeur Mu, sur un tableau de tuples contenant des 3 composantes r,v,b de 12 LED. Je crains que l'importation dans un microcontroleur du module deque ne soit pas possible... En plus ce sont des exercices destinés à des débutants (élèves de seconde en France, encore bien plus débutants que moi)

    En tout cas, j'ai appris quelque chose aujourd'hui. Merci

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Je crains que l'importation dans un microcontroleur du module deque ne soit pas possible

    deque
    est un objet qui se trouve dans les modules standards python, je ne vois pas le soucis de l'importation.

    Pour le reste c'est toi qui voit

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 41
    Par défaut
    OK, je vais essayer avec l'objet deque. Il est sans doute facile d'initialiser un tel objet avec un les éléments d'un tableau.
    Encore merci

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_deque = deque(ma_liste)
    tout simplement !

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

    Avec une liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> L = list(range(10))
    >>> L
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> L.append(L.pop(0))
    >>> L
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    >>>
    Avec un tuple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> T = tuple(range(10))
    >>> T[1:]+T[:1]
    (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [débutant] Somme des éléments d'un tableau
    Par Kazuhiko$ dans le forum Caml
    Réponses: 5
    Dernier message: 19/11/2008, 11h29
  2. Ajouter des élément a un tableau
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/07/2007, 14h23
  3. [Struts] ordre des éléments dans un tableau de propriétés
    Par zais_ethael dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/05/2006, 15h54
  4. Réponses: 4
    Dernier message: 17/04/2006, 20h10
  5. [dom je pense]accéder à des éléments d un tableau sans id
    Par luta dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/02/2006, 15h31

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