Python新手在這裏 - 無法找到任何類似的在線。Python - 如果列表元素不存在則排除變量
我想分析一個包含很多行的變量列長度的大型數據集。我的數據的一個例子可能是:「LY R15 515 750 601 999」,其中每行的元素數量不同。我希望列變量引用每個後續元素,但僅當該元素存在時才引用。我將在後面的數字表達式中爲if語句使用所有列變量。
data = 'LY R15 515 750 601 999'
remove_blanks = ['']
entries = data.split()
''.join([i for i in entries if i not in remove_blanks])
trash = (entries[0], entries[1])
time = int(entries[2])
column_1 = int(entries[3])
column_2 = int(entries[4])
column_3 = int(entries[5])
column_4 = int(entries[6])
column_5 = int(entries[7])
column_6 = int(entries[8])
column_7 = int(entries[9])
column_8 = int(entries[10])
column_9 = int(entries[11])
column_10 = int(entries[12])
column_11 = int(entries[13])
column_12 = int(entries[14])
column_13 = int(entries[15])
column_14 = int(entries[16])
column_15 = int(entries[17])
column_16 = int(entries[18])
column_17 = int(entries[19])
column_18 = int(entries[20])
print(entries)
我收到的錯誤:
column_3 = int(entries[5])
IndexError: list index out of range
我的理解正在發生的事情,因爲元素沒有在列表中存在。基本上,如果一個元素不存在,我不希望這個變量被考慮。請幫忙!
P.S.我相信有一個更簡單的方法來寫這個,所以如果有的話,請讓我知道!
謝謝你的幫助。你會如何調用這些變量?如果對任何變量嘗試「print(column_0)」或「if column_0> = 0:」,我總是收到一個錯誤,指出未解析的引用「column_0」,則會發生此錯誤。 – DRauch
變量是你的字典的關鍵。你做例如打印(變量['column_0'])並得到750 – nova
好吧,我現在看到。它適用於所有存在的元素!雖然,就像我上面所說的,如果我的列表沒有包含足夠的元素,我希望沒有賦值的變量不被具有數字表達式的if語句考慮。有沒有辦法使用這本詞典來做到這一點?也許如果我把我的代碼的例子,它會更有意義? – DRauch