是否可以忽略列表的最后一个元素



我有两个列表,其中包含工作时间和要做的

hours = ["00:00","06:00","08:30","09:30","10:30","12:30","14:30","16:00","18:00",]
jobs  = [job1,job2,job3,job4,job5,job6,job7,job8,job9]

使用循环来使用计划库来计划作业。

for i,x in zip(hours,jobs):
schedule.every().monday.at(i).do(x)
schedule.every().tuesday.at(i).do(x)
schedule.every().wednesday.at(i).do(x)
schedule.every().thursday.at(i).do(x)
schedule.every().friday.at(i).do(x)
while True:
schedule.run_pending()
time.sleep(1)

我想做的是,在星期五schedule.every().friday.at(i).do(x),我安排所有的工作,除了最后一个

job9 at 18:00

在这种情况下,有没有办法避免列表中的最后一项?

我相信Ismail的回答将避免将最后一项工作安排在所有日子里。如果您只想在周五受到影响,请在周五之前放置if声明:

for i,x in zip(hours,jobs):
schedule.every().monday.at(i).do(x)
schedule.every().tuesday.at(i).do(x)
schedule.every().wednesday.at(i).do(x)
schedule.every().thursday.at(i).do(x)
if i != hours[-1]:
schedule.every().friday.at(i).do(x)

您可以添加一个if条件来检查它是否位于列表的最后一个元素:

for i,x in zip(hours,jobs):
if i = hours[-1]:
break
schedule.every().monday.at(i).do(x)
schedule.every().tuesday.at(i).do(x)
schedule.every().wednesday.at(i).do(x)
schedule.every().thursday.at(i).do(x)
schedule.every().friday.at(i).do(x)

这将保持循环,直到它到达最后一个元素(hours[-1](,在那里它脱离循环。

最新更新