我有一个if语句并传递它,但无论如何都会出错,python

时间:2016-05-08 13:48:17

标签: python

我在python中有这个if语句。如果U<0我希望通过。但是如果U> 0,我想知道len(U[0])<1。但是我在len(U) < 0时遇到错误 在if len(U[0])<1: IndexError: index out of bounds行。但我认为这是为了通过这个,所以它应该只在len(U)>0时查找它。有人可以帮忙吗?

   if len(U) < 0:
        pass
   else:
        if len(U[0])<1:
            pass
        else:
            Uli=U[0]
            list2.append(Uli)

1 个答案:

答案 0 :(得分:1)

len返回非负整数。比较len(U) < 0将始终为false,因此永远不会执行pass

相反,它进入else分支,在那里它尝试访问可能为空的列表的0元素。您看到的错误是因为列表为空。

考虑将if len(U) < 0:更改为if len(U) == 0:或仅if len(U):if not U: