我想簡化這段代碼,不再重復 if not 陳述句和列印。在第一種情況下只添加了一個條件curAccession == data[5]并且列印完全相同。有沒有辦法用標志或其他東西來實作這一目標?請原諒我幼稚的問題,我對python不熟悉......
fileName = data[6]
if data[6][0] == '.':
fileName = data[5] data[6]
if not (curIP == data[0] and curDate == data[1] and curAccession == data[5] and curExtention == data[6]):
print('%s\t%s' % (data[0] "," fileName, data[1]))
else:
if not (curIP == data[0] and curDate == data[1] and curExtention == data[6]):
print('%s\t%s' % (data[0] "," fileName, data[1]))
uj5u.com熱心網友回復:
我可能會這樣做:
fileName = data[6]
match = (curIP, curDate, curExtension) == (data[0], data[1], data[6])
if fileName[0] == '.':
fileName = data[5] data[6]
match &= curAccession == data[5]
if not match:
print(f"{data[0]},{fileName}\t{data[1]}")
跟蹤需要匹配的所有不同資料的另一種方法:
fileName = data[6]
matches = [(curIP, data[0]), (curDate, data[1]), (curExtension, data[6])]
if fileName[0] == '.':
fileName = data[5] data[6]
matches.append((curAccession, data[5]))
if not all(a == b for a, b in matches):
print(f"{data[0]},{fileName}\t{data[1]}")
uj5u.com熱心網友回復:
condition = curIP == data[0] and curDate == data[1] and curExtention == data[6]
if data[6][0] == '.':
fileName = data[5] data[6]
if curAccession != data[5]:
condition = False
if not condition:
print('%s\t%s' % (data[0] "," fileName, data[1]))
和我一樣,但更干凈。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/400836.html
