def value(c):
if any(c.isdigit() for c in value):
print("1")
else:
print("0")
value = 'www.test.com' #list of sample
value = 'www.123.com'
value = 'www.test.com'
如何通过样本列表检测字符串中的数字?
我必须在1次编译中获取样本列表的输出,是否有任何方法可以在python文件中修改我的代码以循环获取“值”列表而不是仅1?旁边在python shell中编写代码。
答案 0 :(得分:1)
>>> value = 'www.test.com'
>>> any(c.isdigit() for c in value)
False
>>> value = 'www.123.com'
>>> any(c.isdigit() for c in value)
True
>>> value = 'www.tes$%%^^^t.com'
>>> any(c.isdigit() for c in value)
False
或者你可以这样写:
>>> value = 'www.123.com'
>>> containsdigit = any(c.isdigit() for c in value)
>>> if containsdigit:
... print("1")
... else:
... print("0")
...
1
更新:让我们假设函数def值(c)将列表作为参数。然后我可以这样定义功能。
def value(c):
for b in c:
containsdigit = any(a.isdigit() for a in b)
if containsdigit:
print("The result of : "+ b + " is 1")
else:
print("The result of : " + b +" is 0")
从我的控制台我可以将列表c声明为c =['www.123.com','www.abc.com','www.dfd#$%%.com']
我现在可以将c传递给我的函数,如下所示:
value(c)
output
The result of : www.123.com is 1
The result of : www.abc.com is 0
The result of : www.dfd#$%%.com is 0
答案 1 :(得分:0)
我不确定我是否正确地提出了问题,但是如果你想检查字符串中是否有某些字符,请使用正则表达式:
import re
if re.search("1","www.test1.com")!=None:
print("has number")
else:
print("has no number")
在一个功能中:
values = "01234" # numbers 0,1,2,3,4
# values= "\d" # all digits
def values_in_string(s, values):
return(re.search(values,s)!=None)