我如何计算字符串中的位数

时间:2018-06-15 05:14:57

标签: python python-3.x

我知道如果完整的字符串是一个数字,则isdigit返回true或false但是我想检查该字符串是否包含例如" 1dfsfsfs"会返回false但它确实包含一个数字。那么我会用哪种方法来找出它呢?

.isdigit()

2 个答案:

答案 0 :(得分:1)

尝试使用map和lambda

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

它会给你字符串中的数字

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

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

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

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

这会返回像[0,1,1,1,1,1]

这样的东西
sum([0,1,1,1,1,1])

这将汇总列表中的所有值,并以这种方式找到计数

答案 1 :(得分:0)

尝试使用正则表达式:

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

输出:

True