我不想編寫長的'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
但是multiquery不工作
表達式'的結果(1> 0)和(10> 12)'是一個布爾值,所以只需將它存儲在一個變量中。即你幾乎在那裏,只是不要把表達式轉換成一個字符串(無論出於何種原因)。 –
感謝您的建議,我不知道如果條件使用布爾值 – Paul85