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

  FORUM HardWare.fr
  Programmation
  Python

  Recherche rapide de liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche rapide de liste

n°1875248
gennosuke
Posté le 20-04-2009 à 13:45:22  profilanswer
 

Bonjour,
sous python 2.5, je dois trouver la position d'une liste dans une liste de listes au format homogène (même nombre d'éléments, mêmes types).
Ex.:
dans
 
tab=[['359974000073A', 362.0], ['3017800110768F', 362.0], ['T083680094092', 62.0], ['3245390062390', 32.0]]
 
position de
 
t=['3017800110768F', 362.0]
 
renvoie ind=1.
 
Mon soucis, c'est que je peux avoir 2, 3 et + éléments dans t, que tab peut contenir jusqu'à un million de listes et que je dois répéter l'opération des millions de fois !
Bref, je dois optimiser à tout prix mes codes.
J'ai tenté simplement:
 
ind=tab.index(t)
 
mais c'est lent.
Est-ce intéressant de trier tab avant de lancer la recherche (éventuellement dichotomique) ?
J'avais essayé (si len(t)>1):
 
tab=numpy.array(tab)
inter=set(numpy.argwhere(tab==t[0]).T[0])
for v in range(1,len(t)):
    inter=inter.intersection(set(numpy.argwhere(tab==t[v]).T[0]))
    ind=inter.pop()
 
(cf.: http://forum.hardware.fr/hfr/Progr [...] 2130_1.htm)
 
ça marche, mais c'est encore + lent.
Et tab devient un ndarray de numpy, donc pas de méthode .index.
 
Qui aurait une solution + rapide?
Merci.

mood
Publicité
Posté le 20-04-2009 à 13:45:22  profilanswer
 


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

  Recherche rapide de liste

 

Sujets relatifs
liste déroulante(option par défaut)Batch avec recherche sous condition
FlashCs3 As2 : GetUrl : COmment marche le Get ? Recherche :Recherche d'index dans list ou array
recherche dans un recordset [Résolu]encodage liste csv
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?
Plus de sujets relatifs à : Recherche rapide de liste


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