问题描述
抱歉在这里过度解释。
我想看看一个字符串是否有任何数字。所以我为此写了简单的代码,就是:
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 (将#修改为@)