"Mehrdimensionale Liste in Python nach String durchsuchen?

5 Antworten

"Derzeit bin ich dabei eine Datenbank zu schreiben. "

Moment. Wieso dann nicht Suche mit SQL?

Ich würde dir vorschlagen, eine rekursive Methode zu benutzen:

found = False

def isInList(search, my_list):
  for element in my_list:
    if isinstance(element, list):
     return isInList(search, element)
    else:
      return element == search

In etwa so, habe ich aber nicht getestet.

Müsste klappen, die Frage ist eigentlich recht trivial, wenn man weiß, wie, aber vorher fast unlösbar ;-)

Und warum erstellst du nicht einfach mehrere „eindimensionale“ Listen? Das würde vieles vereinfachen … :-)

Diese Frage ist nicht banal :) Gute Antworten findest du aber eher auf Stackoverflow. Genauer Erklärung, etwa:

Möchtest du wissen, wie oft der Name in der Datenbank vorkommt? Möchtest du wissen, wo diese Namen genau stehen (also die Indices)? Oder nur den ersten Eintrag dieses Namens? Oder den ganzen Datenblock (die nächsten x größeren Dimensionen), in dem der Name vorkommt?

Ich hoffe das bringt dich wenigstens ein bisschen weiter...

uhervg832 
Fragesteller
 17.01.2017, 13:52

Wo genau die Namen stehen, wollte ich wissen. Inzwischen habe ich es nach langem Rumprobieren rausgefunden. Vielen Dank für die Antwort und den Tipp mit den guten Antworten! :-)

0

Würde sagen du solltest für jede ebene die einträge ermitteln und einfach for schleifen verschachteln und mit if prüfen. Kann leider nicht viel python von daher kann ich dir keine exakte python lösung geben