Testen, ob jedes Listenelement falsch ist

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In Python können wir die all()-Funktion verwenden, um zu überprüfen, ob alle Elemente in einer Liste wahrheitswertig sind. Aber was tun, wenn wir überprüfen möchten, ob jedes Element in einer Liste falsch ist? In dieser Herausforderung müssen Sie eine Funktion erstellen, die überprüft, ob jedes Element in einer Liste falsch ist.

Testen, ob jedes Listelement falsch ist

Schreiben Sie eine Python-Funktion namens none(lst, fn = lambda x: x), die eine Liste lst und eine optionale Funktion fn als Argumente nimmt. Die Funktion sollte True zurückgeben, wenn jedes Element in der Liste falsch ist, und False sonst. Wenn die optionale Funktion fn angegeben wird, sollte sie verwendet werden, um die Wahrheitswerte der einzelnen Elemente in der Liste zu bestimmen.

Um zu bestimmen, ob ein Element falsch ist, können Sie die gleichen Regeln wie die Python-Funktion bool() verwenden. Im Allgemeinen gelten die folgenden Werte als falsch:

  • False
  • None
  • 0 (ganzzahlig)
  • 0.0 (fließkommazahlig)
  • '' (leerer String)
  • [] (leere Liste)
  • {} (leeres Dictionary)
  • () (leeres Tupel)
  • set() (leere Menge)

Wenn die optionale Funktion fn angegeben wird, sollte sie ein Argument akzeptieren und einen booleschen Wert zurückgeben. Die Funktion wird für jedes Element in der Liste aufgerufen, und der Rückgabewert wird verwendet, um die Wahrheitswerte des Elements zu bestimmen.

def none(lst, fn = lambda x: x):
  return all(not fn(x) for x in lst)
none([0, 1, 2, 0], lambda x: x >= 2 ) ## False
none([0, 0, 0]) ## True

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie Sie eine Python-Funktion erstellen, die überprüft, ob jedes Element in einer Liste falsch ist. Sie haben auch gelernt, wie Sie eine optionale Funktion verwenden, um die Wahrheitswerte der einzelnen Elemente in der Liste zu bestimmen.