我们说我有一个列表amino=['A', 'G', 'L']
和一个字符串sequence='GIIKAKILMDAAALG'
。现在,如果我知道如何使用循环,我会做这样的事情来检查amino
列表中的一个元素是否存在于我的sequence
中:
for el in amino:
if el in sequence:
print 'Amino acid %s is found in sequence'% el
break
很好,但我们假设我不知道循环。我可以使用列表和字符串的某些属性来执行上述操作吗?
答案 0 :(得分:2)
您可以将序列转换为集合,这样您就可以使用简单的集合操作来获得答案:
set(amino).isdisjoint(set(sequence)) # True if the sets have nothing in common
set(amino).intersection(set(sequence)) # a set of common elements
没有可见的循环,但显然设置操作可能会在引擎盖下使用它们。