Python List Class __contains__ Methode Funktionalität

Führt die Methode __contains__ einer __contains__ aus, ob ein Objekt selbst ein Element einer Liste ist oder prüft es, ob die Liste ein Element enthält, das dem angegebenen Parameter entspricht?

Könnten Sie mir ein Beispiel geben, um zu demonstrieren?

2 Solutions collect form web for “Python List Class __contains__ Methode Funktionalität”

 >>> a = [[]] >>> b = [] >>> b in a True >>> b is a[0] False 

Dies beweist, dass es sich um eine Wertkontrolle handelt (standardmäßig), keine Identitätsprüfung. Denken Sie daran, dass eine Klasse, wenn gewünscht, überschreiben kann __contains__() , um es zu einer Identitätsprüfung zu machen. Aber wieder, standardmäßig nein.

Es hängt von der Klasse ab, wie es den Scheck macht. Für die eingebaute list verwendet sie den Operator == ; Sonst könntest du zB nicht 'something' in somelist sicher 'something' in somelist .

Um genauer zu sein, überprüfen Sie, ob das Element gleich einem Element in der Liste ist – also intern ist es höchstwahrscheinlich ein hash(a) == hash(b) Vergleich; Wenn die Hashes gleich sind, werden die Objekte selbst wahrscheinlich auch verglichen.

  • Python-Zusammenführungslisten durch gemeinsames Element
  • Python, die Umsetzung einer Liste und das Schreiben in eine CSV-Datei
  • Wie können Sie eine Liste alle x-Elemente aufteilen und diese x Anzahl der Elemente zu einer neuen Liste hinzufügen?
  • Drehen einer Liste von Listen in ein Wörterbuch von Listen
  • Python: Verwenden der unteren Funktion auf Tupeln
  • Pythonische Art, die Liste aller n-ten Elemente in einer größeren Liste zurückzugeben
  • Implementieren Sie list-like Indexzugriff in Python
  • Verbinden Sie eine Liste von Strings in Python und wickeln Sie jede Zeichenfolge in Anführungszeichen
  • Python Recursive Suche nach Dict mit verschachtelten Tasten
  • Alternativen zur Aufbewahrung großer Listen im Gedächtnis (Python)
  • Konvertieren einer Liste von Strings zu Ints (oder Doppel) in Python
  • Python ist die beste Programmiersprache der Welt.