请考虑以下列表:
test = ["stas", "doug", "saman", "movie"]
for q in range(len(test)):
PreGroup = None
if (q > 0):
PreGroup = test[q-1]
print PreGroup
我怎么能一个也没有呢?作为第一个输出?
我需要在那里设置q-1,或者至少我认为,因为我需要PreGroup在当前索引之前是一个索引。你知道吗
我的PreGroup不能没有,因为我稍后会在代码中传递它,如果它没有,我会得到一个错误。你知道吗
谢谢。你知道吗
Tags:
如果
q
为0,则不希望将PreGroup
(设置为None以外的值)。这很好,但是您可以打印PreGroup
的值,不管它是否已设置。如果将print
也放在if
内,则只有PreGroup
设置为test[q-1]
时,它才会打印。然后还可以删除PreGroup = None
行,因为PreGroup
不需要存在于if
之外。你知道吗不过,解决问题的更好方法是让循环从1开始,而不是从0开始。这样,您甚至不必检查
q
是否为0。您可以使用range(1, len(test))
来实现这一点。你知道吗range
从0
开始,因此第一次通过测试if (q > 0)
失败,PreGroup
停留在None
。你知道吗顺便说一下,在
if
测试周围不需要括号。你知道吗你没有很清楚地表达你想要的是什么,但是我想你说的是,在循环的每次迭代中,你都想要一个有效的当前组
test[q]
和一个有效的前一组test[q-1]
。在这种情况下,可以使用range(1, len(test))
使q
从1
开始,而不是从0
开始。你知道吗或者,您可以在不使用任何索引的情况下执行此操作:
相关问题 更多 >
编程相关推荐