Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Pythoniga arrayst otsimine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Chaza!
Kreisi kasutaja
Chaza!

liitunud: 18.07.2006



Autoriseeritud ID-kaardiga

sõnum 06.02.2012 15:29:27 Pythoniga arrayst otsimine vasta tsitaadiga

Mul on selline array näiteks:
aadu
juhan
uuno
Nüüd oleks vaja, et kui n="juhan", siis väljastaks numbri 2. Olen VBAs sama asja korduvalt teinud, aga pythonile head ja lihtsat lahendust kohe ei leidnud googlest.


--------------------

olemas

s = "Bob"
myList = [ "Marye", "Bob", "Steve" ]

for item in myList:
    if item in s:
   print s
   print myList.index(s)

_________________
Linux - Future
"Those Who Sacrifice Liberty For Security Deserve Neither." - Benjamin Franklin
1984 was not supposed to be instruction manual
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 53
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 06.02.2012 18:32:41 vasta tsitaadiga

python:
  1. kolmnurk = ["karu", "rebane", "hunt"]
  2. if "karu" in kolmnurk :
  3.     print('OK')
  4. else :
  5.     print('JAMA')

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 06.02.2012 18:47:54 vasta tsitaadiga

Tal vaja indeksit saada kus see seal massiivis on.

Oma suht-koht olematute pythoni oskustega oleks teinud miskit stiilis:
for i in range 1.. len(array)
  if "foo" == array[i]
    return i


Tegu pseudokoodiga loomulikult.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 06.02.2012 19:05:26 vasta tsitaadiga

Index leidmine tal ju ok

print myList.index(s)

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 06.02.2012 19:29:26 vasta tsitaadiga

Seda küll kuid oletasin, et see ei pruugi kõige optimaalsem olla. Sõltub muidugi kuidas täpselt seda indeksit otsitakse sealt massiivist, eeldasin, et tehakse uuesti lineaarne otsing ehk siis topelttöö.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 06.02.2012 20:18:11 vasta tsitaadiga

Ainuke mis tal liiast on see For tsükkel seal, kui paneb minu koodi ja oma index kokku, siis peaks suht optimaalne olema

python:
  1. s = "Bob"
  2. myList = [ "Marye", "Bob", "Steve" ]
  3. #for item in myList:
  4. if s in myList:
  5.  
  6.     print (s)
  7.     print (myList.index(s))

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 06.02.2012 21:49:16 vasta tsitaadiga

Lisaks: kui on vaja nii indeksit kui väärtust siis on abiks enumerate:
python:
  1. myList = [ "Marye", "Bob", "Steve" ]
  2. for i, s in enumerate(myList):
  3.   print s, myList.index(s) == i

_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Pythoniga arrayst otsimine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.