使用 ~

问题描述

抱歉在这里过度解释。

我想看看一个字符串是否有任何数字。所以我为此写了简单的代码,就是:

any(char.isdigit() for char in s)

如果字符串中的任何字符是数字,则结果为 True,如果其中 False 是数字,则结果为 None

现在假设我想要 False 而不是 True 作为输出。这意味着我想要否定任何结果。所以我终于发现我所需要的只是将 not 放在语句前面,这样就解决了我遇到的问题。

但在我发现这个之前,我最终得到了一些其他意想不到的结果。如:

使用 ~ 运算符:

  • ~(any(char.isdigit() for char in s)) 结果为 -1,预期为 bool
  • 所以我尝试了 ~True 看看它是否正常工作,结果 -2False(bool) 预期
  • 然后我尝试了 ~False,结果为 -1True(bool) 预期

不仅如此,我还记得 bool 值前面的 ! 也有效,但我得到的是:

!(any(char.isdigit() for char in s)) 导致错误 - "for was unexpected at this time."

我第一次在 Python 中看到这种类型的错误。

有人知道这些 -1 和 -2 值的实际含义吗?这可能是我对 Python 基本概念的无知。如果它已经在 StackOverflow 中得到了回答,有人可以向我指出吗?在这种情况下,我会删除该问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...