关于python:我如何计算字符串中的位数

how can i count the number of digits in a string

本问题已经有最佳答案,请猛点这里访问。

我知道is digit如果完整字符串是数字,则返回true或false,但我想检查字符串是否包含数字,例如"1dfsffs"将返回false,但它确实包含数字。那么我会用哪种方法来找出这个问题呢?

1
.isdigit()


用map和lambda试试这个

1
2
a="a12345"
sum(list(map(lambda x:1 if x.isdigit() else 0,set(a))))

它将为您提供字符串中的数字计数

说明:set(a)--将字符串转换为唯一项(因为map函数采用迭代器或列表将其映射到函数)

1
lambda x:1 if x.isdigit() else 0

这个lambda函数帮助我们找到它是否是数字,然后它将返回1,如果不是,它将返回0。

1
list(map(lambda x:1 if x.isdigit() else 0,set(a)))

这将返回这样的结果[0,1,1,1,1,1]

1
sum([0,1,1,1,1,1])

这将对列表中的所有值求和,这样就可以找到计数。


尝试使用正则表达式:

1
2
import re
print(any(re.sub('\D','','123abc')))

输出:

1
True