我对 python 不太了解,所以如果我的问题是一个非常基本的问题,我很抱歉。
假设我有一个清单
lst = [1,2,3,4,5,6,7,8,9,10]
现在我想知道的是,是否有任何方法可以在 python 中编写以下代码而不使用
range()
或 xrange()
:
for i in lst:
for j in lst after element i: '''This is the line i want the syntax for'''
#Do Something
第二个循环是访问元素
i
之后的元素,即,如果 i = 3,j
必须从 4 循环到 10,因此打印 i
和 j
的数字对将是是 (1,2)..(1,10)、(2,3)...(2,10)、(3,4)..(3,10) 等
我不知道要搜索什么或在任何搜索引擎上输入什么查询。
任何帮助将不胜感激。
这就是列表切片的意义所在,您可以从第 i 个元素开始获取列表的一部分
lst[i:]
此外,为了同时拥有索引和值,您需要
enumerate
操作,将列表更改为对列表 (index, value)
因此
for ind, i in enumerate(lst):
for j in lst[ind+1: ]:
#Do Something
看起来你可能想使用 enumerate():
for index, item in enumerate(lst):
for j in lst[index+1:]:
#Do Something
我们不能简单地这样做吗:
for i in range(len(lst)):
for j in lst[i+1:]:
#Do Something