我正在尝试阅读包含大量值的文本文件。首先,我将所有值附加到列表中,我的任务是找到这些值的总和。
在追加时我做了类似的事情:lst.append(float(values))
。
我收到错误,因为值列表中有DNE
等字母字符串。
所以,如果value == 'DNE'
我如何忽略它,让程序只关注浮点值并添加它。
要添加,我知道sum(lst)
,只是想知道如何忽略'DNE'
答案 0 :(得分:2)
尝试将字符串转换为数字值时,您将获得ValueError
异常,因为这是不允许的。
您需要将append()
调用包装在try-except
块中以捕获这些错误并以适当的方式处理它们:
一个简单的块:
try:
lst.append(float(value))
except ValueError:
print "Cannot convert String to Float!"
应该足够了。
答案 1 :(得分:0)
使用try/except
并忽略在无法将值转换为float时引发的特定异常:
try:
lst.append(float(values))
except ValueError as exc:
pass