Alle passenden Indizes finden

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In Python können wir die enumerate()-Funktion verwenden, um über eine Liste zu iterieren und sowohl den Index als auch den Wert jedes Elements zu erhalten. Wir können auch Listenverständnis verwenden, um Elemente zu filtern, die eine bestimmte Bedingung erfüllen. In dieser Herausforderung werden Sie diese Konzepte verwenden, um eine Funktion zu erstellen, die die Indizes aller Elemente in einer Liste findet, die eine gegebene Testfunktion erfüllen.

Alle passenden Indizes finden

Schreiben Sie eine Funktion find_index_of_all(lst, fn), die eine Liste lst und eine Testfunktion fn als Argumente nimmt und eine Liste von Indizes aller Elemente in lst zurückgibt, für die fn True zurückgibt.

Eingabe

  • Eine Liste lst von ganzen Zahlen.
  • Eine Testfunktion fn, die eine ganze Zahl als Eingabe nimmt und einen booleschen Wert zurückgibt.

Ausgabe

  • Eine Liste von ganzen Zahlen, die die Indizes aller Elemente in lst repräsentieren, für die fn True zurückgibt.
def find_index_of_all(lst, fn):
  return [i for i, x in enumerate(lst) if fn(x)]
find_index_of_all([1, 2, 3, 4], lambda n: n % 2 == 1) ## [0, 2]

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie Sie enumerate() und Listenverständnis verwenden, um die Indizes aller Elemente in einer Liste zu finden, die eine gegebene Testfunktion erfüllen. Sie können nun diese Kenntnisse nutzen, um zukünftig ähnliche Probleme zu lösen.