0

这一定是非常基本的,但经过一番搜索,我还没有找到答案。

我正在遍历一个列表,其中一些列中有值,而一些列是空的。如果该列为空,我希望代码跳过该行。这就是我所拥有的:

for lines in luku:
    split = lines.split("\t")
    if "c-sarja" in split and "F" in split[2]:
        c_nainen = lines.split("\t")
        if int(c_nainen[8]) >= 50:
            old_lady = lines
            print c_nainen[0], ": OLD," " AGE:", c_nainen[8], "years"
        else:
            ??

错误:

ValueError: invalid literal for int() with base 10: ''
4

3 回答 3

1

如您所见,调用int()空字符串会引发。ValueError

只需使用一个try/except块:

for lines in luku:
    split = lines.split("\t")
    if "c-sarja" in split and "F" in split[2]:
        try:
            age = int(split[8])
        except ValueError:
            continue          # Skip to the next iteration
       if age >= 50:
            old_lady = lines
            print split[0], ": OLD," " AGE:", age, "years"
于 2013-05-31T09:47:37.623 回答
0
try:
    age = int(c_nainen[8])
except ValueError:
    continue   
于 2013-05-31T09:48:38.933 回答
0

如果您在 for 循环中并想跳过当前项目,只需执行操作continue,执行将跳转到 for 循环中的下一个项目。

(或者,什么也不做。无论如何,执行将流向下一个循环的开始。)

于 2013-05-31T09:38:18.507 回答