"for" 在范围内步进循环时获取列表的元素或列表的索引
Get the element of list or index of list while "for" looping with step in range
我正在通过以下步骤循环列表:
list_of_names = ["james", "jack", "jill"]
for i in range(1, len(list_of_names) * 6 + 1, 7):
print(i, i + 6)
现在我想获取元素的索引或迭代次数,以便我可以打印列表的当前元素。
所以我希望输出为
(1, 7, "james")
(8, 14, "jack")
(15, 21, "jill")
或
(1, 7, 0)
(8, 14, 1)
(15, 21, 2)
我该怎么做?
注意:我正在使用 python2。
逻辑与您的版本不同,但也许您想实现类似的功能?
for i, name in enumerate(list_of_names):
print(i * 7 + 1, (i + 1) * 7, name)
在您的版本中,随着 list_of_names
的增长,未打印的元素数量将在每个列表长度 n*6 + 1
增加一个,n
为正整数。例如,当长度为 7 时,只会打印前 6 项(即 i
取值 [1, 8, 15, 22, 29, 36],但不是 43),长度为 13 , 只会打印 11 个元素。
如果可能,您应该改用 Python 3。 Python 2 不再维护。
我正在通过以下步骤循环列表:
list_of_names = ["james", "jack", "jill"]
for i in range(1, len(list_of_names) * 6 + 1, 7):
print(i, i + 6)
现在我想获取元素的索引或迭代次数,以便我可以打印列表的当前元素。 所以我希望输出为
(1, 7, "james")
(8, 14, "jack")
(15, 21, "jill")
或
(1, 7, 0)
(8, 14, 1)
(15, 21, 2)
我该怎么做?
注意:我正在使用 python2。
逻辑与您的版本不同,但也许您想实现类似的功能?
for i, name in enumerate(list_of_names):
print(i * 7 + 1, (i + 1) * 7, name)
在您的版本中,随着 list_of_names
的增长,未打印的元素数量将在每个列表长度 n*6 + 1
增加一个,n
为正整数。例如,当长度为 7 时,只会打印前 6 项(即 i
取值 [1, 8, 15, 22, 29, 36],但不是 43),长度为 13 , 只会打印 11 个元素。
如果可能,您应该改用 Python 3。 Python 2 不再维护。