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