是否有一种pythonic方式可以知道for中的第一个和最后一个循环何时通过?

Ger*_*ard 7 python django for-loop templatetag lettuce

我有一个我放置的模板,比方说5个表单,但除第一个表单外,所有禁用都被发布.如果我单击首先启用它的按钮,则只能填写下一个表单.

我正在寻找一种方法在验证测试中的for循环中实现类似Django的forloop.last templatetag变量,以决定是否执行启用下一个表单的方法.

基本上我需要做的是:

for form_data in step.hashes:
    # get and fill the current form with data in form_data
    if not forloop.last:
        # click the button that enables the next form
# submit all filled forms
Run Code Online (Sandbox Code Playgroud)

Ale*_*nro 0

如果我正确理解你的问题,你想要一个简单的测试来看看你是在列表的开头还是结尾?

如果是这样的话,就可以这样做:

for item in list:
    if item != list[-1]:
        #Do stuff
Run Code Online (Sandbox Code Playgroud)

对于列表中的第一项,您可以将“-1”替换为 0。

  • 但是如果列表中有重复项怎么办?您的列表可以是 [5, 8, 3, 3],并且您的项目 != list[-1] 将匹配倒数第二个项目以及最后一个项目。 (5认同)