如何在Python循环中仅跳过首个Season的前3个日期
实现首个Season跳过前3个日期的遍历需求
嘿,我来帮你搞定这个需求!你要的效果是遍历第一个season时跳过前3个日期,后续所有season都正常输出全部日期对吧?直接看修改后的代码就行:
for i, season in enumerate(seasons): print('Season:', season) season_response = requests.get(season, headers=headers, cookies=cookies) season_content = season_response.content season_doc = html.fromstring(season_content) dates = [base + date for date in season_doc.xpath('//*[@id="bloccontenu"]//div[@class="select-container select-game"]/select/option/@value')] # 根据是否是首个season决定是否跳过前3个日期 target_dates = dates[3:] if i == 0 else dates for date in target_dates: print(date)
关键改动说明:
- 用
enumerate(seasons)同时获取每个season的索引i和season本身,这样咱们就能精准判断当前是不是第一个season(索引从0开始,i=0就是第一个) - 新增
target_dates变量:如果是第一个season,就对dates做切片[3:](从第4个元素开始取,正好跳过前3个);如果是其他season,直接用完整的dates列表 - 最后遍历
target_dates打印,完美匹配你要的效果:- season1的6个日期,会输出date4到date6
- season2及以后的season,所有日期都会正常输出
内容的提问来源于stack exchange,提问作者Derrick Omanwa
相关产品推荐
相关产品推荐

