'and' (logisch) vs. '&' (bitweise): Variationen bei der Handhabung von Listen und Numpy-Arrays
Bei der Arbeit mit booleschen Operationen , ist es von entscheidender Bedeutung, den Unterschied zwischen „und“ und „&“ zu verstehen. Während „und“ beurteilt, ob beide Ausdrücke einen logischen Wahr-Wert enthalten, bestimmt „&“, ob beide Operanden Wahr sind (im Kontext logischer Werte).
Verhalten mit Listen
- In Beispiel 1 wird die Operation „und“ als „Falsch“ ausgewertet, da mindestens ein Element in der ersten Liste „Falsch“ ist. Wenn andererseits ein Element in beiden Listen „True“ ist, ist das Ergebnis „True“. Somit würden ['True', 'False', 'False'] und ['True', 'True', 'False'] True zurückgeben.
- Der Operator „&“ ist mit Listen nicht kompatibel, da sie kann Elemente unterschiedlichen Typs enthalten und kann nicht bitweise kombiniert werden.
Verhalten mit Numpy Arrays
-
Beispiel 3: Arrays mit mehreren Elementen haben keinen eindeutigen Wahrheitswert, was zu einem ValueError führt, da „und“ keine logischen Operationen auf solchen Arrays auswerten kann. Verwenden Sie die Funktionen „any()“ oder „all()“ von Numpy, um logische Bedingungen zu bestimmen.
-
Beispiel 4: „&“ kann mit Numpy-Arrays verwendet werden, da sie vektorisierte Operationen unterstützen. Das resultierende Array enthält Elemente, die das bitweise UND der entsprechenden Elemente aus den Eingabearrays sind.
Zusammenfassung der Operatorverwendung
- Für logische Operationen mit Nicht-Array-Daten oder nicht-mathematische Berechnungen verwenden Sie „und“.
- Um Vektoren boolescher Werte zu kombinieren, verwenden Sie numpy mit '&'.
Das obige ist der detaillierte Inhalt von„and' vs. „&': Wann sollten logisches UND und bitweises UND mit Listen und NumPy-Arrays verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn