Python 为列表的最后一项运行不同的函数

Python 为列表的最后一项运行不同的函数,python,list,python-3.x,loops,Python,List,Python 3.x,Loops,我正在尝试为列表的最后一项执行不同的任务。但我为所有项目执行任务,包括最后一项,然后再次为最后一项执行其他任务。例如,我有一个类似文本和选择按钮的列表。然后在最后我需要文本,选择按钮和后退按钮。这是我的密码: array = ["string1", "string2", "string3", "string4", "string5"] for item in array: theTask() if array.index(item) == len(array) - 1:

我正在尝试为列表的最后一项执行不同的任务。但我为所有项目执行任务,包括最后一项,然后再次为最后一项执行其他任务。例如,我有一个类似文本和选择按钮的列表。然后在最后我需要文本,选择按钮和后退按钮。这是我的密码:

array = ["string1", "string2", "string3", "string4", "string5"]

for item in array:
    theTask()
    if array.index(item) == len(array) - 1:
        theOtherTask()

我知道我的错误,但那是我得到的最好的结果。我怎样才能解决这个问题

不确定你想做什么,但可能是

for item in array[:-1]:
    theTask()

item = array[-1]
theOtherTask()

对于索引,枚举(数组)中的项:
如果索引
当您要处理最后一项的_任务和_other_任务,并进一步使用参数指示要处理的内容和(哪个工作者):

注意,我用元组替换了列表,因为用例不需要可变性,还更改了工作人员的名称,并提供了一些虚拟打印实现

在我的机器上,输出为:

Working on string1
Working on string2
Working on string3
Working on string4
Working on string5
Working again on string5

与blue\u note提供的答案非常接近,但包含更多的pep8更改作为建议,并为最后一项提供了附加处理(而不仅仅是处理该项的其他任务)。

不清楚您在寻找什么,但下面是代码的改进

array = ["string1", "string2", "string3", "string4", "string5"]

for item in array:
    theTask()
    if item is array[len(array) - 1]:
        theOtherTask()
即使您的列表中有重复的项目,这也会起作用

Working on string1
Working on string2
Working on string3
Working on string4
Working on string5
Working again on string5
array = ["string1", "string2", "string3", "string4", "string5"]

for item in array:
    theTask()
    if item is array[len(array) - 1]:
        theOtherTask()