Python If条件,其中两个条件依赖于一个元组
我最近才开始用Python编程(之前有Ruby的经验)。我正在尝试设置一个if条件,其中包含两个条件:Python If条件,其中两个条件依赖于一个元组,python,ruby,conditional,tuples,python-2.7,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),) 我做错了什么 我
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语法的东西:,除非前面的[1]
((5,1,9,23),
),否则这是一个长度为1的元组。它唯一的元素——索引为0——是元组(5,1,9,23)
。它没有第二个元素具有索引1
,因此元组[1]
会引发索引器
你希望前面的[1]
能给你什么?((5,1,9,23),)
,那么这是一个长度为1的元组。它唯一的元素——索引为0——是元组(5,1,9,23)
。它没有第二个元素具有索引1
,因此元组[1]
会引发索引器
你希望previous[1]
能给你什么?在“previous
”中只有一个元素。这就是为什么当您尝试检索元素1时,会得到一个索引器。在“上一个”中只有一个元素。这就是为什么当您尝试检索元素1时,会得到一个索引器。您的索引错误来自previous[1]
-previous是1元组。。。您需要previous[0]
和previous[0][0]
您的索引错误来自previous[1]
-previous是1元组。。。您需要previous[0]
和previous[0][0]
您的previous
打印的括号不匹配。你可能复制错了吗?我复制错了,我刚刚更改了为什么要在1元组中包装一个元组?你以前的打印有不匹配的括号。你可能复制错了吗?是的,我只是修改了为什么要在1元组中包装一个元组?那么如果我想测试previous[1]的存在,正确的语法是什么?@Spencer,如果len(previous)>1
将测试它,但我担心这可能不是你需要处理的。你在查什么?编写代码时,您希望上一个[1]
是什么?你最初是想检查它是否存在吗?在某些情况下,我希望它是另一个元组,在其他情况下,我希望它不存在。这个元组是从数据库调用返回的,我希望处理两个返回行的实例与处理一个返回行的实例不同。因此,如果我想测试previous[1]是否存在,正确的语法是什么?@Spencer,如果len(previous)>1
将测试它,但我担心这可能不是你需要处理的。你在查什么?编写代码时,您希望上一个[1]
是什么?你最初是想检查它是否存在吗?在某些情况下,我希望它是另一个元组,在其他情况下,我希望它不存在。此元组是从数据库调用返回的,我希望处理具有两个返回行的实例时与处理具有一个返回行的实例时有所不同。如何测试previous[1]的存在性?可以使用len(previous)确定previous中的元素数。如何测试previous[1]的存在性?可以使用len(previous)要确定previous中的元素数,我将如何测试previous[1]是否存在?我将如何测试previous[1]是否存在?