Python 3.6如何检查列表是否包含带字母的字符串,以及是否包含整数?
如何检查列表是否包含本身不包含任何数字的字符串?所讨论的列表将包含一个包含字母或数字的字符串和一个整数 您可以使用列表理解的组合来迭代Python 3.6如何检查列表是否包含带字母的字符串,以及是否包含整数?,python,python-3.x,Python,Python 3.x,如何检查列表是否包含本身不包含任何数字的字符串?所讨论的列表将包含一个包含字母或数字的字符串和一个整数 您可以使用列表理解的组合来迭代输入列表,any()来返回True,第二次您遇到第一个字符串时使用int()(提前退出总是一个好主意),以及一个正则表达式来查看字符串中是否有数字或字母([0-9]匹配任何单个数字和[a-zA-Z]字符串中的任何字母;re.search()将计算True,如果其中任何一个字符串匹配) 根据这个问题,您希望检查列表中的任何字符串是否包含至少一个字母和至少一个数字,但
输入列表
,any()
来返回True
,第二次您遇到第一个字符串时使用int()
(提前退出总是一个好主意),以及一个正则表达式来查看字符串中是否有数字或字母([0-9]
匹配任何单个数字和[a-zA-Z]
字符串中的任何字母;re.search()
将计算True
,如果其中任何一个字符串匹配)
根据这个问题,您希望检查列表中的任何字符串是否包含至少一个字母和至少一个数字,但如果它只有数字或字母,则可以。我不确定你想检查哪种情况;如果我的解释是关闭的,我很高兴编辑下面的代码,以符合您的意图
import re
input_list = [11, "11", "somestring", "someotherstring", "mixedstring1"]
any([x for x in input_list if re.search("[0-9]", str(x)) and re.search("[a-zA-Z]", str(x))])
True
您的问题不清楚,但我认为对于这个列表:
l = ['bob', 'fish', 'abc123']
您希望False
,因为列表中确实包含带数字的字符串
以及下列各项:
l = ['bob', 'fish', 'abc']
您需要True
,因为没有带数字的字符串
要实现这两个结果,您可以使用:
not any(any(c.isdigit() for c in s) for s in l)
你在挣扎哪一部分?使用
isinstance
仅处理字符串,使用类似notany(map(str.isidigit,s))
检查是否有任何字符是数字