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

  FORUM HardWare.fr
  Programmation
  Python

  Recherche d'index dans list ou array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche d'index dans list ou array

n°1868788
gennosuke
Posté le 02-04-2009 à 16:38:54  profilanswer
 

Bonjour,
 
sous Python 2.5, je dois chercher l'index qui donne la position d'une liste dans une liste de listes (qu'on peut considérer comme une matrice).
Ex.: pour u=[1,1,10], sa position dans t=[[1,1,1],[1,1,2],[1,10,100]] est 1.
 
Comment résoudre ce problème avec la liste t ?
Connaissez-vous une solution avec t en tant qu'objet array de numpy :
>>> import numpy
>>> t=numpy.array([[1,1,1],[1,1,2],[1,10,100]])
>>> t
array([[1, 1, 1],
       [1, 1, 2],
       [1, 10, 100]])
 
Merci pour votre aide.

Message cité 1 fois
Message édité par gennosuke le 02-04-2009 à 17:13:24
mood
Publicité
Posté le 02-04-2009 à 16:38:54  profilanswer
 

n°1868807
Taz
bisounours-codeur
Posté le 02-04-2009 à 16:56:50  profilanswer
 
n°1868827
Sve@r
Posté le 02-04-2009 à 17:10:37  profilanswer
 

gennosuke a écrit :

Bonjour,
 
sous Python 2.5, je dois chercher l'index qui donne la position d'une liste dans une liste de listes (qu'on peut considérer comme une matrice).
Ex.: pour u=[1,1,10], sa position dans t=[[1,[B][U]1[/U][/B],1],[1,[B][U]1[/U][/B],2],[1,[B][U]10[/U][/B],100]] est 1.
Comment résoudre ce problème avec la liste t ?


Code :
  1. t=[]
  2. t.append(range(3))
  3. t.append(range(3, 6)
  4. t.append(range(6, 9))
  5. t
  6. [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
  7. u=[3, 4, 5]
  8. t.index(u)
  9. 1


 

gennosuke a écrit :

Connaissez-vous une solution avec t en tant qu'objet array de numpy :


Désolé ,je ne sais pas utiliser numpy


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1868835
gennosuke
Posté le 02-04-2009 à 17:18:10  profilanswer
 

Ok, merci à vous 2.
Sve@r, je suis d'accord avec ta solution, mais u n'est pas une liste de t.
Dans ton ex., si u=[1,4,7], je dois trouver l'index 1, position commune aux trois listes de t.

n°1868963
gennosuke
Posté le 02-04-2009 à 18:30:53  profilanswer
 

Taz, dans le FM, penses-tu à where ou argwhere?
Comment utiliser ces fonctions dans le cas d'une liste u de valeurs et non une seule ?

n°1869421
Sve@r
Posté le 04-04-2009 à 09:09:57  profilanswer
 

gennosuke a écrit :

Ok, merci à vous 2.
Sve@r, je suis d'accord avec ta solution, mais u n'est pas une liste de t.
Dans ton ex., si u=[1,4,7], je dois trouver l'index 1, position commune aux trois listes de t.


Ok, j'avais pas bien compris (mais ton exemple initial contenait des tas de "B" qui le rendaient illisible). Tu cherches en fait la position d'une colonne dans ta matrice.
Cependant tu remarques que la méthode index() te renvoie la position d'une ligne. Donc pourquoi ne pas faire une fonction qui
1) fait pivoter ta matrice pour que les lignes deviennent des colonnes et inversement
2) renvoie index(t) qui sera de fait l'index de ta colonne vu que la colonne est devenue la ligne
???
Par exemple cette fonction te renvoie une matrice renversée

Code :
  1. def f(mat):
  2.    new=[]
  3.    for i in range(len(mat[0])):
  4.        new.append([lig[i] for lig in mat])
  5.    return new


Message édité par Sve@r le 04-04-2009 à 09:23:49

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

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

  Recherche d'index dans list ou array

 

Sujets relatifs
recherche dans un recordset [Résolu]Creation d'une array recursive
recherche multi champs ( x champs) + nom entête de champComment modiifier ce code pour avoir une recherche multiple?
recherche quelqu un pour me refaire mon siteComment faire une recherche multicriteres?
[65816]recherche de livre sur la programmation du 65816Erreur de type Warning: mysql_fetch_array()
Comment faire une recherche avec plusieurs mots?Recherche dev Cyber Plus Banque populaire
Plus de sujets relatifs à : Recherche d'index dans list ou array


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