Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 写这个If-in语句的更好方法?_Python_Python 2.7 - Fatal编程技术网

Python 写这个If-in语句的更好方法?

Python 写这个If-in语句的更好方法?,python,python-2.7,Python,Python 2.7,如果我想确定某个字符/单词在字符串中,我该如何做?就像在这个例子中(这是一个非常难看的例子),我想知道一个字符串是否包含一个数字 n = "I have 3 cats" if "1" in n or "2" in n or "3" in n or "4" in n \ or "5" in n or "6" in n or "7" in n or "8" in n \ or "9" in n or "0" in n: print "This string contains a

如果我想确定某个字符/单词在字符串中,我该如何做?就像在这个例子中(这是一个非常难看的例子),我想知道一个字符串是否包含一个数字

n = "I have 3 cats"

if "1" in n or "2" in n or "3" in n or "4" in n \
   or "5" in n or "6" in n or "7" in n or "8" in n \
   or "9" in n or "0" in n:
    print "This string contains a number"
else:
    print "This string does not contain a number"
这是一种非常缓慢和混乱的方式来判断字符串是否包含数字。那么,我如何才能让它按照以下思路行事:

n = "I have 3 cats"
myList = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]

if '''Any of the strings in myList''' in n:
    print "This string contains a number"
else:
    print "This string does not contain a number"
我已经在堆栈溢出中查找了这个答案,但找不到它,所以如果这是重复的,我非常抱歉!我无法想象我是第一个提出这个问题的人

顺便说一句,这不是“如何查找字符串是否包含数字”的副本,因为我在本例中仅使用数字示例。我只是想知道是否有办法找到一个字符串是否包含列表中的任何字符串。例如,假设我想查找一个字符串是否包含这些字符中的任何一个“/\-”等。”这不是重复的

您可以使用:

或者,使用
str
instance方法使您的目的更加明确:

if any(c.isdigit() for c in n):
您可以使用:

或者,使用
str
instance方法使您的目的更加明确:

if any(c.isdigit() for c in n):

最简单、最有效的方法是将要查找的内容放入一个集合中,并检查与该集合的交集。(set.intersection的参数不必是集合本身。)


最简单、最有效的方法是将要查找的内容放入一个集合中,并检查与该集合的交集。(set.intersection的参数不必是集合本身。)


嗯,我的问题与此类似,但仅限于此示例。我想找到一种方法来知道列表中的字符串中是否有某个字符。我刚才用了这个问题中的数字例子@AntPHmmm我的问题与此类似,但仅在本例中。我想找到一种方法来知道列表中的字符串中是否有某个字符。我刚才用了这个问题中的数字例子@蚂蚁这正是我一直在寻找的!非常感谢:-)!这正是我一直在寻找的!非常感谢:-)!
digits = set("0123456789")
if digits.intersection(myList):
    print "Yep"