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
Si quelqu'un le connaît, veuillez l'expliquer.
http://qiita.com/trsqxyz/items/50e6e59e23995b6c2b41#comment-d01210d7bd8f60d2c590 Il semble que la raison pour laquelle filter () a renvoyé la liste dans le 2e système est que le 3e système renvoie maintenant l'itérateur.
@shiena Merci! !!
La valeur booléenne a changé car la liste vide est devenue un objet itérateur. Plongez dans Python 3 semble être utile ici. Alors
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
est devenu Il est important de vérifier les fonctions une par une
http://qiita.com/trsqxyz/items/50e6e59e23995b6c2b41#comment-945bff027756ad382a35 Si vous voulez écrire quelque chose comme un exemple de code, any vaut mieux que bool.
ʻAny () ʻest une fonction intégrée qui renvoie True
si l'un des éléments itérables est vrai. Pour tous les éléments, il y a «all ()».
Il semble certainement plus approprié d'utiliser «any ()». Merci beaucoup.
bool ()
>>> a=[0]
>>> bool(a)
True
>>> any(a)
False
ʻAny () vérifie chaque élément Est-ce que
bool () `a l'impression qu'il y a un élément?
Recommended Posts