Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Chaza!
Kreisi kasutaja

liitunud: 18.07.2006
|
06.02.2012 15:29:27
Pythoniga arrayst otsimine |
|
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
06.02.2012 18:32:41
|
|
|
python:
|
kolmnurk = ["karu", "rebane", "hunt"] if "karu" in kolmnurk : print('OK') else : print('JAMA')
|
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Ho Ho
HV Guru

liitunud: 16.02.2002
|
06.02.2012 18:47:54
|
|
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
06.02.2012 19:05:26
|
|
|
Index leidmine tal ju ok
print myList.index(s)
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Ho Ho
HV Guru

liitunud: 16.02.2002
|
06.02.2012 19:29:26
|
|
|
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 |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
06.02.2012 20:18:11
|
|
|
Ainuke mis tal liiast on see For tsükkel seal, kui paneb minu koodi ja oma index kokku, siis peaks suht optimaalne olema
python:
|
s = "Bob" myList = [ "Marye", "Bob", "Steve" ] #for item in myList: if s in myList: print (s) print (myList.index(s))
|
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
troglodyte
Kreisi kasutaja

liitunud: 09.08.2002
|
06.02.2012 21:49:16
|
|
|
Lisaks: kui on vaja nii indeksit kui väärtust siis on abiks enumerate:
python:
|
myList = [ "Marye", "Bob", "Steve" ] for i, s in enumerate(myList): 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 |
|
 |
|
lisa lemmikuks |
|
|
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
|
|