如何检查字符串是否包含不需要的字符

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