如何查看列表是否包含本身不包含任何数字的字符串?有问题的列表将包含一个包含字母或数字和整数的字符串。
答案 0 :(得分:0)
您可以使用列表推导的组合来迭代input_list
,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
答案 1 :(得分:0)
你的Q不清楚,但我认为这个列表:
l = ['bob', 'fish', 'abc123']
您希望False
列表 包含带数字的字符串。
以下内容:
l = ['bob', 'fish', 'abc']
你想要True
,因为没有数字字符串。
要实现这两个结果,您可以使用:
not any(any(c.isdigit() for c in s) for s in l)