如何解决使用 ~
抱歉在这里过度解释。
我想看看一个字符串是否有任何数字。所以我为此写了简单的代码,就是:
any(char.isdigit() for char in s)
如果字符串中的任何字符是数字,则结果为 True
,如果其中 False
是数字,则结果为 None
。
现在假设我想要 False 而不是 True 作为输出。这意味着我想要否定任何结果。所以我终于发现我所需要的只是将 not
放在语句前面,这样就解决了我遇到的问题。
但在我发现这个之前,我最终得到了一些其他意想不到的结果。如:
使用 ~ 运算符:
-
~(any(char.isdigit() for char in s))
结果为-1
,预期为bool
- 所以我尝试了
~True
看看它是否正常工作,结果-2
,False
(bool) 预期 - 然后我尝试了
~False
,结果为-1
,True
(bool) 预期
不仅如此,我还记得 bool 值前面的 !
也有效,但我得到的是:
!(any(char.isdigit() for char in s))
导致错误 - "for was unexpected at this time."
我第一次在 Python 中看到这种类型的错误。
有人知道这些 -1 和 -2 值的实际含义吗?这可能是我对 Python 基本概念的无知。如果它已经在 StackOverflow 中得到了回答,有人可以向我指出吗?在这种情况下,我会删除该问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。