Seite 1 von 1

Die Zelle von ein bestimmtes Listenelement finden ?

Verfasst: Donnerstag 15. März 2012, 20:14
von Disaster
Hallo und bevor ihr es fragt : Ja , ich habe bereits die SuFu benutzt aber leider ohne Erfolg.
Ich würde gerne von ein Bestimmtes Listenelement die Stelle finden, mein Ansatz war so:

Code: Alles auswählen

liste = ["Apfel","Orange","Banane","Apfel","Kirsche"]
for i in range(len(liste)):
    if "Apfel" not in liste:
        print "Apfel befindet sich nicht in der Liste"
    if "Apfel" == liste[i]:
        print "Apfel befindet sich in der",i,". Zelle der Liste"
Aber dennoch habe ich gedanken, dass es vielleicht einfach als das gehen würde.
Falls ihr bessere Ansätze habt was eventuell kürzer ist wäre ich dankbar wenn ihr mir helfen würdet.

MFG
Disaster

Re: Die Zelle von ein bestimmtes Listenelement finden ?

Verfasst: Donnerstag 15. März 2012, 20:16
von Hyperion
Du hättest mal bei den Methoden von ``list`` in Der Doku suchen sollen ;-)

Code: Alles auswählen

In [7]: obst = ["Apfel","Orange","Banane","Apfel","Kirsche"]

In [8]: "Apfel" in obst
Out[8]: True

In [9]: obst.index("Apfel")
Out[9]: 0

In [10]: obst.index("Apfel", 0)
Out[10]: 0

In [11]: obst.index("Apfel", 1)
Out[11]: 3
Und dieses Konstrukt:

Code: Alles auswählen

for i in range(len(liste)):
ist der absolute Anti-Pattern in Python ;-)
Wenn Du den Index mal brauchen solltest, dann erzeuge ihn mit ``enumerate``:

Code: Alles auswählen

for index, item in enumerate(iterable):
In diesem Falle ist das ja nicht notwendig :-)

Re: Die Zelle von ein bestimmtes Listenelement finden ?

Verfasst: Donnerstag 15. März 2012, 20:45
von snafu
Um das nochmal deutlicher zu machen:

Code: Alles auswählen

# Iteration über Elemente
for element in liste:
    [...]

# Mitführen des Index
for index, element in enumerate(liste):
    [...]

# Nur Indexwerte (sehr selten)
for index in range(len(liste)):
    [...]
Das Holen der Elemente über einen laufenden Indexwert bei einer "klassischen" `for`-Schleife sollte man tunlichst vermeiden. Das ist in Python einfach unüblich, weil die Sprache (siehe Beispiel 1) einem halt andere Mittel bietet.

Re: Die Zelle von ein bestimmtes Listenelement finden ?

Verfasst: Donnerstag 15. März 2012, 21:00
von EyDu
Disaster hat geschrieben:Hallo und bevor ihr es fragt : Ja , ich habe bereits die SuFu benutzt aber leider ohne Erfolg.
Ich würde den ersten Satz eines Beitrags ja nicht so formulieren, wenn ich etwas von anderen möchte ;-)