我有一个函数可以创建一个氨基酸列表(aaCandidates),但是这个列表甚至可以是空的。如果这个列表是空的,我想跳过这一步,继续下一步。在
我的代码是:
def magicfunction(referenceDistance,referenceAA):
amminoacids = ('A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V')
aaCandidates = list()
for aa in amminoacids:
if distance(aa,referenceAA) == referenceDistance:
aaCandidates.append(aa)
if not aaCandidates:
break
luckyAA = choice(aaCandidates)
return(luckyAA)
我在另一个文件中调用此函数,如下所示:
^{pr2}$我尝试了条件=>;if not aaCandidates: break
,但没有成功:
File "/.../lib/python3.4/random.py", line 255, in choice
raise IndexError('Cannot choose from an empty sequence')
IndexError: Cannot choose from an empty sequence
您的列表为空,因此
random.choice()
失败。当列表为空时,您需要决定在for
循环的之外执行什么操作,因此当列表完成构建时:将您的
break
放入循环中所达到的全部目的是确保如果第一个aa
不是候选项,则不会将任何内容添加到列表中。在相关问题 更多 >
编程相关推荐