我有一個列表,告訴我哪些列需要從字節轉換爲KB。Python:從不輸入if語句進行轉換
covert_to_kb_columns=[9, 10, 21, 22, 24]
我無法正確執行我的代碼。我想檢查一下,如果我的'idx'
號碼與 covert_to_kb_columns
列表中的某個號碼相匹配,那麼我應該進行預算計算,否則將數字保持原樣。 try/except
聲明適用於 文件中沒有數字只是一個'',所以我追加了一個零。
print covert_to_kb_columns
for idx, column_number in enumerate(columns_I_am_working_with):
print idx
#Check if I need to convert number from bytes to KB
if idx == [number for number in covert_to_kb_columns]:
print "Need to divide by 1024.0"
data_to_use.append("{:.1f}".format(float(row[column_number])/1024.0))
#Otherwise just append number as is
else:
try:
float(row[column_number])
data_to_use.append(row[column_number])
except ValueError:
data_to_use.append('0')
我打印報表給我這樣的結果:(「」注意是用於表明打印的所有電話號碼,但我不寫他們都39號了)
[9, 10, 21, 22, 24]
0
1
2
3
.
.
.
9
10
.
.
.
21
22
23
24
.
.
.
39
看來,它從不輸入打印語句來執行轉換。 我認爲這個問題是與線
if idx == [number for number in covert_to_kb_columns]:
但我看不出有什麼我做錯了