将空字符串转换为零
我正在做类似这样的事情,目的是把从开始到结束的所有值加起来。
big_list = line.split(delim)
sum( [int(float(item)) for item in big_list[start:end]] )
有时候,big_list
中的某个元素可能是空的,这样的话转换就会失败。我能否用一种优雅的方式处理空字符串,而不需要对上面的代码做太多改动呢?
1 个回答
6
假设空的元素应该算作零:
sum(int(float(item)) for item in big_list[start:end] if item)
# ^ skip over ""
注意:
sum
函数可以直接接受生成器表达式作为参数,不需要先创建一个列表;- 一个空字符串
""
在判断时会被看作是False
,所以这相当于if item != ""
。