2015-02-06 48 views
0

我似乎無法找到適合我的解決方案。我有一個列表,下面的代碼:Python如果列表爲空

def summer(position): 
    sum1 = 0.0 
    for line in dataFile: 
     position2 = position + 1 
     items = line.split(',', position2) 
     items = items[position:position2] 
     if len(items) < 1: 
      sum1 = 0.0 
     else: 
      result = [float(x.strip(' "')) for x in items] 
      sum1 = sum1 + sum(row for row in result) 

    return sum1 

我得到以下錯誤:

['offer_id'] 
Sum: 91383276.0 
----- 

['decision_id'] 
Sum: 215141303.0 
----- 

['offer_type_cd'] 
      result = [float(x.strip(' "')) for x in items] 
    ValueError: empty string for float() 

在列表中的值是[「」] 我也當項目嘗試==「 ''」或項目== '' 等

+0

向我們展示前三行dataFile – smci 2015-02-06 22:49:57

回答

2

你需要測試個別空項目

result = [float(x.strip(' "')) for x in items if x.strip(' "')] 
0

如果你打算到包括位置2,那麼您需要從位置1創建切片POSITION2 + 1

items = [position1:position2+1] 

和檢查,看看是否在片每個項目是空的。