首页 > 解决方案 > 循环比我的列表长 - 如何知道我降落在哪里?

问题描述

如果以前有人问过这个问题,我很抱歉,但我回答了不同的问题,也许是因为我是新手,所以我无法理解解决方案。我将尝试给出我的具体问题,希望有人可以帮助澄清。

我有的:

列表 = ['a','b','c','d','e']

n = 17

我想做的事

我需要遍历列表中的 (n) 个元素,其中 n > len(list) 如何知道循环将在哪里停止?

例子:

列表 = ['a','b','c','d','e']

n = 3

返回值将是“c”(列表中的第三个元素)

非常感谢您的帮助,f3rzli

标签: pythonlistloopsreturniteration

解决方案


您可以使用模数( %) 运算符。

按照您的示例,如果您这样做:

>>> L = ['a','b','c','d','e']
>>> n = 3
>>> L[n % len(L) - 1]
'c'

由于 Python 是零缩进的,要得到你的列表项,你应该减去1(列表的第三个元素有 position 2

如果我理解正确,n=8例如,应该给出与以下相同的结果n=3

>>> N = 8
>>> L = ['a','b','c','d','e']
>>> i = N % len(L) - 1
>>> L[i]
'c'

推荐阅读