長い 'if'文を書くのではなく、それを変数に格納して 'if'条件に渡したいと思います。 例:Pythonの条件付きif文
tempvar = '1 >0 and 10 > 12'
if tempvar:
print something
else:
do something
pythonで可能ですか?
あなたの提案に感謝しますが、私の問題は私が理解できないものです。 私は、テキストファイルに複数の文字列検索を行うと、一つの条件に複数の文字列を変換しようとしています:
allspeciesfileter=['Homo sapiens', 'Mus musculus', 'Rattus norvegicus' ,'Sus scrofa']
multiequerylist=[]
if len(userprotein)> 0:
multiequerylist.append("(str("+ "'"+userprotein+ "'"+")).lower() in (info[2].strip()).lower()")
if len(useruniprotkb) >0:
multiequerylist.append("(str("+ "'"+useruniprotkb+ "'"+")).lower() in (info[3].strip()).lower()")
if len(userpepid) >0:
multiequerylist.append("(str("+ "'"+userpepid+ "'"+")).lower() in (info[0].strip()).lower()")
if len(userpepseq) >0:
multiequerylist.append("(str("+ "'"+userpepseq+ "'"+")).lower() in (info[1].strip()).lower()")
multiequery =' and '.join(multiequerylist)
for line in pepfile:
data=line.strip()
info= data.split('\t')
tempvar = bool (multiquery)
if tempvar:
do something
しかし、その複数の問合せは、単なる文字列を削除し、変数に条件を保存
式の結果を ' (1> 0)と(10> 12) 'はブール値なので、変数に格納してください。私。あなたはほとんどそこにいるだけで、式を文字列に変換しないでください。 –
提案に感謝し、条件がブール値を使用するかどうかわかりませんでした – Paul85