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

Spe*_*cer 0 ruby python conditional tuples python-2.7

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

if not previous[1] and previous[0][0] == 5:
            print "hello world"
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到此错误:

<type 'exceptions.IndexError'>: tuple index out of range 
Run Code Online (Sandbox Code Playgroud)

打印上一个回报: ((5, 1, 9, 23),)

我究竟做错了什么?

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

Mik*_*ham 6

((5, 1, 9, 23),)那么这是一个长度为1的元组.它唯一的元素 - 索引为0 - 是元组(5, 1, 9, 23).它没有第二个元素来获得索引1,所以that_tuple[1]提升IndexError.

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

  • @Spencer,`if len(previous)> 1`将测试,但我担心这可能不是你需要处理的.你在检查它是为了什么?*当你编写代码时,你有什么期望`previous [1]`?*你最初是想检查存在吗? (2认同)