badbatchcoder
Goto Top

Python: Wert in einer Liste innerhalb einer weiteren Liste suchen

Liebe Python-Community,

ich würde gerne mehrere Listen innerhalb einer Liste, nach einem bestimmten Wert an bestimmter Position durchsuchen.
Es soll die Liste zurückgegeben werden, die an der gewünschten Position den Wert enthält.

Veranschaulichung:
[
[pos1, pos2, pos3],
[pos1, pos2, pos3],
[pos1, pos2, pos3]
]
Wenn jetzt zum Beispiel ein Listenobjekt in der Gesamtliste an erster Position (hier pos1) den Wert 5 enthält, soll diese Liste zurückgegeben werden.

Beispiel:
[
[1, 5, "irgendwas"],  
[5, "test", "irgendwas"],  
[7, "test", "irgendwas"]  
]
Wenn hier nach dem Wert 5 an erster Position bzw. an Position gesucht werden würde, soll die zweite Liste zurückgegeben werden.

Stehe grad komplett aufm Schlauch...
Ich hoffe mir kann jemand weiterhelfen.

Vielen Dank im Voraus

Content-Key: 1849237063

Url: https://administrator.de/contentid/1849237063

Printed on: April 28, 2024 at 13:04 o'clock

Member: runthegaunz
Solution runthegaunz Feb 06, 2022 at 22:01:25 (UTC)
Goto Top
Hi,

falls es immer nur eine Liste gibt, welche deine gesuchte Zahl an erster Stelle enthält (falls es mehrere gibt, wird immer die erste zurückgegeben):
def suche_liste(listen, suche) -> list:
    for liste in listen:
        if liste == suche:
            return liste


def main() -> None:
    listen = [
        [1, 5, 'irgendwas'],  
        [5, 'test', 'irgendwas'],  
        [7, 'test', 'irgendwas']  
    ]

    print(suche_liste(listen, 5))


if __name__ == '__main__':  
    main()

Falls es aber mehrere Listen gibt und du alle haben möchtest:
def suche_liste(listen, suche) -> list:
    return [liste for liste in listen if liste[0] == suche]


def main() -> None:
    listen = [
        [1, 5, 'irgendwas'],  
        [5, 'test', 'irgendwas'],  
        [7, 'test', 'irgendwas'],  
        [5, 1, 'irgendwas']  
    ]

    print(suche_liste(listen, 5))


if __name__ == '__main__':  
    main()

Viel Spaß!
Member: BadBatchCoder
BadBatchCoder Feb 06, 2022 at 23:53:49 (UTC)
Goto Top
Funktioniert perfekt! :D
Vielen vielen Dank für deine Hilfe