Seite 1 von 1

Python - Suche in einem Array

Verfasst: Mittwoch 6. Mai 2009, 09:55
von Pretender2k
Hallo,

ich hab folgendes Problem. Ich habe ein Array vorliegen in dem ich ein Minimum suche. prinzipiell kann ich das über min(array) finden.

Ich würde aber nicht nur den Wert sondern auch die Position benötigen. Also dass er mir sagt das minimum ist an Position 20. bei 2000 Einträgen ist abzählen nämlich net so lustig :)

vielleicht kennt jemand den Befehl bzw. eine Seite auf der ich vielleicht fündig werde.

thx

Re: Python - Suche in einem Array

Verfasst: Mittwoch 6. Mai 2009, 10:02
von numerix
Pretender2k hat geschrieben:Hallo,

ich hab folgendes Problem. Ich habe ein Array vorliegen in dem ich ein Minimum suche. prinzipiell kann ich das über min(array) finden.

Ich würde aber nicht nur den Wert sondern auch die Position benötigen. Also dass er mir sagt das minimum ist an Position 20. bei 2000 Einträgen ist abzählen nämlich net so lustig :)

vielleicht kennt jemand den Befehl bzw. eine Seite auf der ich vielleicht fündig werde.

thx

Code: Alles auswählen

zahlen = [3,4,5,3,2,3,7]
mini = min(zahlen)
idx = zahlen.index(mini)

Verfasst: Mittwoch 6. Mai 2009, 10:03
von EyDu

Code: Alles auswählen

>>> import operator
>>> l = [5, 3, 6, 7, 2, 1, 8, 9]
>>> min(enumerate(l), key=operator.itemgetter(1))
(5, 1)

Verfasst: Mittwoch 6. Mai 2009, 10:09
von CM
Hoi,

"array" ist etwas unspezifisch. Falls es sich nicht um Listen, sondern um numpy-arrays handelt, wirst Du hier fündig.

HTH
Christian

Verfasst: Mittwoch 6. Mai 2009, 10:11
von Pretender2k
danke für die sehr schnellen Antworten!

leider funktionierts noch nicht. Problem ist wohl, dass es sich bei meinem Array um eine Matrix handelt. Daher kommt folgender Fehler:

'numpy.ndarray' object has no attribute 'index'

Wenn ich die Eingabe nach numerix mache.

Weiss jemand weiter?

Verfasst: Mittwoch 6. Mai 2009, 10:13
von Pretender2k
Vielen Dank CM. Klappt alles!

Super schnell die Antworten hier! Thx

Verfasst: Mittwoch 6. Mai 2009, 10:17
von CM
Pretender2k hat geschrieben:Super schnell die Antworten hier!
Wir helfen gerne - und viel direkter, wenn Du demnächst auch spezifischer fragst ;-).

Gruss,
Christian