我对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循环,所以{{1}的数字对}和i
打印将是(1,2)..(1,10),(2,3)...(2,10),(3,4)..(3,10)等
我不知道在任何搜索引擎上搜索什么或输入什么查询 任何帮助将不胜感激。
答案 0 :(得分:8)
这就是切片的列表,你可以从i'th元素到
获取你的列表的一部分lst[i:]
此外,为了同时拥有索引和值,您需要enumerate
操作,这会将列表更改为对(index, value)
从而
for ind, i in enumerate(lst):
for j in lst[ind+1: ]:
#Do Something
答案 1 :(得分:7)
您可能希望使用enumerate():
for index, item in enumerate(lst):
for j in lst[index+1:]:
#Do Something