检测循环最终迭代的Pythonic方法[重复]

Posted

技术标签:

【中文标题】检测循环最终迭代的Pythonic方法[重复]【英文标题】:Pythonic way to detect final iteration of a loop [duplicate] 【发布时间】:2019-11-30 04:08:04 【问题描述】:

目前,我正在做类似的事情

count = 0
for item in list:
  if count == len(list) - 1:
      <do something>
   else:
      <do something else>
   count += 1

是否有更 Pythonic 的方式来识别循环的最终迭代 - 用于列表和字典?

【问题讨论】:

你真的需要知道它是否是最后一个元素吗?通常你可以通过使用', '.join(list) 来解决这个问题。 @T.Nel 它没有被标记为无用,它被标记为重复,确实如此。 重复哪个? @Mawg,你的第一个问题似乎在这里...... @Mawg 链接到的两个问题在顶部重复。 【参考方案1】:

您可以使用enumerate() 对其进行改进:

for i, item in enumerate(list):
    if i == len(list) - 1:
        <do something>
    else:
        <do something else>

【讨论】:

您只需要计算列表中的最后一项last_item = list[-1]

以上是关于检测循环最终迭代的Pythonic方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Pythonic方式迭代序列,一次4个项目[重复]

大多数 Pythonic for / enumerate 循环?

JavaScript迭代

数组的循环与迭代......字符串

以pythonic方式打印字典中最大值的键[重复]

在 Python 中以列表(循环方式)迭代对