如何检查字符串是否包含不需要的字符
How to check if string contains unwanted characters
我学习 Python 才几个星期,所以请多多包涵。假设我有 3 个变量:
AX557349 = "gcggatttactcaggggagagcccagataaatggagtctgtgcgtccacagaattcgcacca"
AX557350 = "tccgtgaaacaaagcggatgtaccggatttttattccggctatggggcaattccccgtcgcggagcca"
Tester = "atcgatccblah"
nucs = []
nucs.extend(AX557349, AX557350, Tester)
我只想 return 列出包含除 "a"、"t"、"c" 或 "g" 以外的字符的元素。在这种情况下,测试员。我该怎么做呢?
您可以使用 Python 的 any
函数:
if any(c not in set('atcg') for c in Tester):
...
使用一套怎么样?
if len(set(Tester) - set("acgt")) > 0:
print("contains other characters")
有几种方法。您可以将 all
与生成器表达式一起使用:
def checker(x):
acgt = set('acgt')
return not all(i in acgt for i in x)
或者,使用 set.issubset
或其语法糖 <=
:
def checker(x):
return not set(x) <= set('acgt')
结果:
checker(AX557349) # False
checker(AX557350) # False
checker(Tester) # True
我学习 Python 才几个星期,所以请多多包涵。假设我有 3 个变量:
AX557349 = "gcggatttactcaggggagagcccagataaatggagtctgtgcgtccacagaattcgcacca"
AX557350 = "tccgtgaaacaaagcggatgtaccggatttttattccggctatggggcaattccccgtcgcggagcca"
Tester = "atcgatccblah"
nucs = []
nucs.extend(AX557349, AX557350, Tester)
我只想 return 列出包含除 "a"、"t"、"c" 或 "g" 以外的字符的元素。在这种情况下,测试员。我该怎么做呢?
您可以使用 Python 的 any
函数:
if any(c not in set('atcg') for c in Tester):
...
使用一套怎么样?
if len(set(Tester) - set("acgt")) > 0:
print("contains other characters")
有几种方法。您可以将 all
与生成器表达式一起使用:
def checker(x):
acgt = set('acgt')
return not all(i in acgt for i in x)
或者,使用 set.issubset
或其语法糖 <=
:
def checker(x):
return not set(x) <= set('acgt')
结果:
checker(AX557349) # False
checker(AX557350) # False
checker(Tester) # True