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 :

Stockage des matrices obtenues dans une boucle [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut Stockage des matrices obtenues dans une boucle
    Bonjour,

    Je suis débutant dans le programmation python. J'ai un soucis qui m’empêche de continuer. Je voudrais stocker toutes les matrices qui sortent d'une boucle pour pouvoir ensuite utiliser les données récupérées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for n in range(0,4) :
        L = np.zeros((3,3))
        L[0,0]= n + 1
        L[0,2]=L[0,1]=L[0,0]
        L[1,0]=L[1,1]=L[1,2]=L[0,0]
        L[2,0]=L[2,1]=L[2,2]=L[0,0]
    Le calcul est ici basique pour l'exemple mais sera plus compliqué dans mon programme.
    Quand la boucle for sort juste un nombre, je sais stocker avec la fonction append() dans une liste mais là avec des matrices, je ne vois vraiment pas quoi faire.

    En vous remerciant d'avance pour votre aide

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

    Citation Envoyé par Jonhy7 Voir le message
    Quand la boucle for sort juste un nombre, je sais stocker avec la fonction append() dans une liste mais là avec des matrices, je ne vois vraiment pas quoi faire
    Si vous débutez avez Python, il est peut être un peu tôt pour vous lancer à utiliser des bibliothèques comme numpy... car pour cela, il faut savoir un minimum se dépatouiller avec la documentation pour, par exemple, y trouver numpy.fromfile, numpy.tofile et bien d'autres méthodes si vous voulez sauvegarder çà dans d'autre formats.

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

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Ta boucle va faire exactement quatre fois la même chose, quel est l'intérêt ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Je débute mais j'ai les bases quand même en programmation python et étant dans une formation scientifique, je suis obligé de passé par numpy pour certaines fonctions, donc avec la documentation numpy.fromfile, numpy.tofile , est-ce que je pourrais arriver à ce que je veux faire ?

    Comme j'ai dit plus bas, ici dans cet exemple, le calcul est très simple mais dans mon programme j'aurais des calculs très complexes, avec des variables dans les calculs qui change en fonction du n choisit.. donc stocker les différents matrices pour les utiliser plus tard est nécessaire..

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Donc ce que tu as besoin c'est une ligne de plus dans ta boucle, comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for n in range(0,4) :
        L = np.zeros((3,3))
        L[0,0]= n + 1
        L[0,2]=L[0,1]=L[0,0]
        L[1,0]=L[1,1]=L[1,2]=L[0,0]
        L[2,0]=L[2,1]=L[2,2]=L[0,0]
        mes_tableaux.append(L)
    Où est le problème ?

    Évidement la liste mes_tableaux enregistre des instances de tableaux numpy mais c'est suffisant pour les récupérer.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    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
    14
    mes_tableaux=[]
     
    for n in range(0,4) :
     
        L = np.zeros((3,3))
        L[0,0]= n + 1
        L[0,2]=L[0,1]=L[0,0]
        L[1,0]=L[1,1]=L[1,2]=L[0,0]
        L[2,0]=L[2,1]=L[2,2]=L[0,0]
        mes_tableaux.append(L)
     
    a = np.array(mes_tableaux)
     
    print (a[3,2,2])
    Effectivement, je me sens bête un peu là, je pensais que c'était plus compliqué que ça.. J'ai cherché pendant des heures sans même tester append() ... Je pensais pas qu'on pouvait stocker des matrices dans une liste.

    En tout merci beaucoup pour votre aide

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

    Citation Envoyé par Jonhy7 Voir le message
    donc avec la documentation numpy.fromfile, numpy.tofile, est-ce que je pourrais arriver à ce que je veux faire ?
    Si ce que vous voulez faire est écrire un tableau dans un fichier et le relire, ces fonctions sont là pour çà.
    Après, le boulot de base du programmeur est d'essayer d'écrire des petits exemples de code qui préfigurent ce qu'il veut faire pour s'assurer que çà fonctionne.
    Le but étant d'être confiant sur sa capacité à les faire fonctionner... ou de s'assurer qu'il comprends bien ce que raconte la documentation.

    Ceci dit allez acheter n'importe quel outil un peu bizarre ou dangereux, vous allez sans doute lire le manuel, apprendre à reconnaître les différents composants, imaginer comment vous allez pouvoir l'utiliser avant de le mettre en route. A défaut, vous allez faire un boulot dégueu. voire vous retrouver à l'hosto sinon pire.

    En programmation, c'est pareil... juste que c'est bien moins risqué.

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

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    En programmation, c'est pareil... juste que c'est bien moins risqué.
    Oh pas sûr que ce soit moins risqué. On doit le crash d'Ariane 5 a une erreur de codage par exemple, et ce n'est pas le seul désastre à inputer à une erreur de codage malheureusement.

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    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 754
    Par défaut
    Citation Envoyé par lg_53 Voir le message
    Oh pas sûr que ce soit moins risqué. On doit le crash d'Ariane 5 a une erreur de codage par exemple, et ce n'est pas le seul désastre à inputer à une erreur de codage malheureusement.
    Ce n'était pas une erreur de codage... mais le copie-coller d'un code sans trop réfléchir pour faire vite et pas cher.
    L'article de wikipedia sur ce sujet est sans appel, tester le code aurait éviter le crash... mais comme çà coûtait du temps et de l'argent, la direction de projet a décidé de s'en passer.

    - 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. [XL-2007] Rechercher etSupprimer des lignes (problèmes dans une boucle)
    Par gabi75 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/05/2010, 10h50
  2. Comment importer des matrices Excel dans une base Access?
    Par BobDesign dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/02/2010, 17h09
  3. Recupérer des valeurs calculées dans une boucle
    Par Medoou dans le forum MATLAB
    Réponses: 40
    Dernier message: 23/07/2009, 14h12
  4. Réponses: 3
    Dernier message: 22/07/2008, 19h29
  5. Réponses: 5
    Dernier message: 30/05/2007, 18h08

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