Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> data = 'spam123'
>>> bool(filter(lambda s:s.isupper(),data))
False
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> data = 'spam123'
>>> bool(filter(lambda s:s.isupper(),data))
True
Wenn jemand damit vertraut ist, erklären Sie es bitte.
http://qiita.com/trsqxyz/items/50e6e59e23995b6c2b41#comment-d01210d7bd8f60d2c590 Es scheint, dass der Grund, warum filter () die Liste im 2. System zurückgegeben hat, darin besteht, dass das 3. System jetzt den Iterator zurückgibt.
@shiena Danke! !!
Der Boolesche Wert hat sich geändert, da die leere Liste in ein Iteratorobjekt geändert wurde. Dive in Python 3 scheint hier nützlich zu sein. Damit
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> data = 'spam123'
>>> bool(list(filter(lambda s:s.isupper(),data)))
False
ist geworden Es ist wichtig, die Funktionen einzeln zu überprüfen
http://qiita.com/trsqxyz/items/50e6e59e23995b6c2b41#comment-945bff027756ad382a35 Wenn Sie so etwas wie ein Codebeispiel schreiben möchten, ist jedes besser als bool.
any ()
ist eine integrierte Funktion, die True
zurückgibt, wenn eines der iterierbaren Elemente true ist. Für alle Elemente gibt es "all ()".
Sicherlich scheint es angemessener, "any ()" zu verwenden. Vielen Dank.
any ()
und bool ()
>>> a=[0]
>>> bool(a)
True
>>> any(a)
False
any ()
prüft für jedes Element Fühlt sich bool ()
so an, als gäbe es ein Element?
Recommended Posts