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()