Если mafLines
, если список строк, и вы хотите посмотреть только на первую, .split
эта строка, чтобы получить слова. Например:
def scoreEvalFromMaf(mafLines):
theScore = None
theEval = None
for word in mafLines[0].split:
if word.startswith('score='):
_, theScore = word.partition('=')
elif word.startswith('expect='):
_, theEval = word.partition('=')
if theScore is None:
raise Exception("encountered an alignment without a score")
if theEVal is None:
raise Exception("encountered an alignment without an eval")
return theScore, theEval
Обратите внимание, что это вернет кортеж с двумя string элементами; например, если вы хотите использовать int и float, вам нужно изменить последнюю строку на
return int(theScore), float(theEval)
и тогда вы получите исключение ValueError, если какая-либо строка недопустима для типа, который она должна представлять, и возвращенный кортеж с двумя числами, если обе строки верны.