Python如果列表为空

时间:2015-02-06 18:33:25

标签: 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()

列表中的值是[''] 如果项目==“''”或项目==''等,我也尝试过。

2 个答案:

答案 0 :(得分:1)

您需要测试个别空项目

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

答案 1 :(得分:0)

如果您打算包含position2,则需要创建从position1到position2 + 1的切片。

items = [position1:position2+1]

并检查切片中的每个项目是否为空。