Search code examples
pythonsyntax

For loop syntax in Python without using range() or xrange()


I do not know much about python so i apologize if my question is a very basic one.

Let's say i have a list

lst = [1,2,3,4,5,6,7,8,9,10]

Now what i want to know is that if there is any way to write the following piece of code in python without using range() or xrange():

for i in lst:
    for j in lst after element i: '''This is the line i want the syntax for'''
        #Do Something

The second loop is to access elements after the element i i.e., if i = 3, j would have to loop through from 4 to 10, so the pairs of numbers if i and j are printed would be (1,2)..(1,10), (2,3)...(2,10), (3,4)..(3,10) etc.

I have no idea what to search for or what query to type on any search engine.
Any help would be much appreciated.


Solution

  • This is what list slicing is about, you can take part of your list from i'th element through

    lst[i:]
    

    furthermore, in order to have both index and value you need enumerate operation, which changes the list into list of pairs (index, value)

    thus

    for ind, i in enumerate(lst):
        for j in lst[ind+1: ]: 
            #Do Something