Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
754 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Récupérer index des éléments différents de 0

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer index des éléments différents de 0

n°2164122
olivier ch​iabodo
Posté le 15-11-2012 à 14:31:51  profilanswer
 

Bonjour à tous.
 
Assez novice dans la programmation python, je souhaite faire un calcul qui me semble "simple" :
 
J'ai 2 matrices de même taille du type
 
A = [ 0 0 0 0 0 0 0 1 2 4 8 9 0 0 0 4 5 5 6 6 0 0 0 0 ]
 
B = [ 4 7 9 9 9 4 5 6 1 2 4 8 9 5 6 6 4 5 5 6 6 1 4 7 ]
 
Je souhaite extraire de la matrice A tous les éléments différents de 0. A partir de la bibliothèque numpy, je fais C = A[A>0].
 
Et je souhaiterai dans la matrice B, récupérer l'élément situé à la même position que dans A (voir en gras).
 
J'ai tenté un D = B[A>0] mais il me semble que c'est faux.  
 
Des idées ? Merci d'avance  :)

mood
Publicité
Posté le 15-11-2012 à 14:31:51  profilanswer
 

n°2164138
masklinn
í dag viðrar vel til loftárása
Posté le 15-11-2012 à 15:25:00  profilanswer
 

Avec numpy aucune idée. Avec des arrays Python basiques je ferais du decorate-filter-undecorate:
 

Code :
  1. A = [ 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 8, 9, 0, 0, 0, 4, 5, 5, 6, 6, 0, 0, 0, 0 ]
  2. B = [ 4, 7, 9, 9, 9, 4, 5, 6, 1, 2, 4, 8, 9, 5, 6, 6, 4, 5, 5, 6, 6, 1, 4, 7 ]
  3.  
  4. print [b for a, b in zip(A, B) if a > 0]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2164196
olivier ch​iabodo
Posté le 15-11-2012 à 17:37:38  profilanswer
 

masklinn a écrit :

Avec numpy aucune idée. Avec des arrays Python basiques je ferais du decorate-filter-undecorate:
 

Code :
  1. A = [ 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 8, 9, 0, 0, 0, 4, 5, 5, 6, 6, 0, 0, 0, 0 ]
  2. B = [ 4, 7, 9, 9, 9, 4, 5, 6, 1, 2, 4, 8, 9, 5, 6, 6, 4, 5, 5, 6, 6, 1, 4, 7 ]
  3.  
  4. print [b for a, b in zip(A, B) if a > 0]



Merci pour ta réponse  :) .
 
Si je suis en multi-dimensionnel est ce que c'est toujours valable ?

n°2164201
masklinn
í dag viðrar vel til loftárása
Posté le 15-11-2012 à 18:29:26  profilanswer
 

Pas identiquement, les listcomps Python ne sont pas multidim. Mais si tu peux zipper et mapper des matrices avec numpy il devrait être possible de faire un truc similaire, mais je connais pas assez ce package pour te conseiller.

 

edit: ou alors vu que ta sortie est de toute manière linéaire, tu commences par linéariser tes matrices puis tu appliques ça.

Message cité 1 fois
Message édité par masklinn le 15-11-2012 à 18:29:58

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2164284
olivier ch​iabodo
Posté le 16-11-2012 à 10:35:49  profilanswer
 

masklinn a écrit :

Pas identiquement, les listcomps Python ne sont pas multidim. Mais si tu peux zipper et mapper des matrices avec numpy il devrait être possible de faire un truc similaire, mais je connais pas assez ce package pour te conseiller.
 
edit: ou alors vu que ta sortie est de toute manière linéaire, tu commences par linéariser tes matrices puis tu appliques ça.


Merci, je suis passé par là, il me semble obtenir un résultat correct  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Récupérer index des éléments différents de 0

 

Sujets relatifs
Elements Finis : Assemblage matrice[résolu] pbl de formule avec INDEX & EQUIV & GAUCHE
Recupérer le code lang locale iso 639 (fr_FR) avec std::locale[VBA Visio 2010] Récupérer des données de formes
[PERL] Récupérer des données dans un fichier txtRécupérer e-mails sur fichier CSV [RESOLU]
Recuperer une variable et envoyer vers URL automatiquementrécupérer username et computername en html
JSON - Récupérer le dernier tweet - InstabilitéBoost dijkstra : recuperer l'intégralité du chemin
Plus de sujets relatifs à : Récupérer index des éléments différents de 0


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR