对于Python中的循环语法而不使用range()或xrange()

时间:2015-11-17 14:34:14

标签: python syntax

我对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)等

我不知道在任何搜索引擎上搜索什么或输入什么查询 任何帮助将不胜感激。

2 个答案:

答案 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