python - 从 2 开始计数

标签 python for-loop iteration

假设我有简单的代码。

list = [1,3,4,5,6,7,8]

for i, val in enumerate(list):
        print(val)

我想从i=2开始.如何以最简单的方式做到这一点?

类似于 for(int i=2; i<list.lenght; i++)java .

最佳答案

您可以对索引使用普通循环:

lst = [1, 3, 4, 5, 6, 7, 8]
for i in range(2, len(lst)):
    val = lst[i]
    print(val)

或者你跳过第一个元素:

lst = [1, 3, 4, 5, 6, 7, 8]
for i, val in enumerate(lst):
    if i < 2:
        continue
    print(val)

第三种选择是使用 itertools.islice跳过第一个元素。这将允许您将索引保持为 0、1、……,尽管您跳过了一个元素:

for i, val in enumerate(itertools.islice(lst, 2, None)):
    print(i, val) # would begin with 1 3, then 2 4, …

由于您的可迭代对象是一个列表,因此您也可以为此使用列表索引:

for i, val in enumerate(lst[2:]):
    print(i, val)

关于python - 从 2 开始计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753557/

相关文章:

python - 在列中查找与其他数据帧列中的任何其他值匹配的行号

python - 如何在 python 中使用索引按 "/"分隔符分割?

python - 如何使用 scipy.optimize.curvefit 修复 PSD 拟合不良

android - Sqlite:遍历字符串字段的子字符串

python - 如何在python中迭代动态 "depths"的字典?

ios - 有没有办法遍历字典?

python - 二进制带Python字母b删除或者什么意思?

Python - OrderedDict 中的字典理解不起作用

windows - 发生错误时循环的批处理脚本停止

python - 如何遍历列表,获取每对可能的值?