Python - In Liste nach Objekt suchen
Hey zusammen,
ich bin ein Python-Anfänger und habe eine kleine Funktion geschrieben, mit der sich Objekte in Listen suchen lassen.
Vielleicht fängt jemand auch gerade erst mit Python an und kann das hier gebrauchen:
Beispiel:
Konsolenausgabe:
Falls man von rechts suchen möchte, kann man folgende Funktion benutzen:
Beispiel:
Konsolenausgabe:
Falls man die Position von rechts aus haben will, kann man die Funktion auch folgendermaßen aufrufen:
(Hierbei wird einfach nur die Länge der Liste von der Position des Objekts (von links aus) abgezogen)
Ich hoffe mein Beitrag hat jemandem weitergeholfen!
LG BadBatchCoder
ich bin ein Python-Anfänger und habe eine kleine Funktion geschrieben, mit der sich Objekte in Listen suchen lassen.
Vielleicht fängt jemand auch gerade erst mit Python an und kann das hier gebrauchen:
# Searches for an object in a list and returns its position in the list
# Sucht in einer Liste nach einem Objekt und gibt dessen Position in der Liste zurück
def listfind(list, search_criterion):
counter = 0
element = ""
while element != search_criterion:
element = list[counter]
counter += 1
return counter - 1
print(listfind([5, 6, 1, 7.65, "hallo", [1, 2], 3, "text", 1, 2], 1))
2
--> weil sich int(1) in der Liste an zweiter Position befindetFalls man von rechts suchen möchte, kann man folgende Funktion benutzen:
# Searches for an object in a list from right to left and returns its position (from the left)
# Sucht von rechts nach links in einer Liste nach einem Objekt und gibt dessen Position zurück (von links)
def rlistfind(list, search_criterion):
counter = len(list) - 1
element = ""
while element != search_criterion:
element = list[counter]
counter -= 1
return counter + 1
print(rlistfind([5, 6, 1, 7.65, "hallo", [1, 2], 3, "text", 1, 2], 1))
8
--> weil sich int(1) in der Liste von rechts nach links gesucht an achter Positon befindetFalls man die Position von rechts aus haben will, kann man die Funktion auch folgendermaßen aufrufen:
list = [5, 6, 1, 7.65, "hallo", [1, 2], 3, "text", 1, 2]
print(len(list) - rlistfind(list, 1))
Ich hoffe mein Beitrag hat jemandem weitergeholfen!
LG BadBatchCoder
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1153114099
Url: https://administrator.de/tutorial/python-in-liste-nach-objekt-suchen-1153114099.html
Ausgedruckt am: 21.04.2025 um 16:04 Uhr
1 Kommentar

Zur Info
https://docs.python.org/3/tutorial/datastructures.html#more-on-lists
list = [5, 6, 1, 7.65, "hallo", [1, 2], 3, "text", 1, 2]
print(list.index("hallo"))
list.index(x[, start[, end]])
Return zero-based index in the list of the first item whose value is equal to x. Raises a ValueError if there is no such item.
The optional arguments start and end are interpreted as in the slice notation and are used to limit the search to a particular subsequence of the list. The returned index is computed relative to the beginning of the full sequence rather than the start argument.