Python如果条件有两个条件依赖于元组

时间:2011-09-01 19:00:22

标签: python ruby conditional tuples python-2.7

我最近才开始用Python编程(以前的Ruby经验)。我正在尝试设置一个具有两个条件的if条件:

if not previous[1] and previous[0][0] == 5:
            print "hello world"

但是,我一直收到这个错误:

<type 'exceptions.IndexError'>: tuple index out of range 

打印上一次返回:((5, 1, 9, 23),)

我做错了什么?

我正在寻找类似于Ruby语法的东西:unless previous[1]

3 个答案:

答案 0 :(得分:6)

((5, 1, 9, 23),),那么这是一个长度为1的元组。它唯一的元素 - 索引为0 - 是元组(5, 1, 9, 23)。索引1没有第二个元素,因此that_tuple[1]会引发IndexError

你希望previous[1]给你什么?

答案 1 :(得分:0)

previous”中只有一个元素。这就是您在尝试检索元素1时获得IndexError的原因。

答案 2 :(得分:0)

您的索引错误来自previous[1] - 之前是1元组...您需要previous[0]previous[0][0]