Home > Mobile >  List comprehension on nested for loop
List comprehension on nested for loop

Time:07-13

I have a list:

l1 = [1,2,3,6,8,1,2,3]

I want to iterate over list and print list of numbers starting and ending with same number.I have done it with for loop:

iniatializing = 1
for i in l1:
 for j in range(iniatializing,len(l1)):
     if i == l1[j]:
         starting_point =l1.index(i)
         print(l1[starting_point:j 1])
     iniatializing  = 1

But how can this be done by using list comprehension?

CodePudding user response:

I suppose what you want to achieve is:

For each i, j (i < j), if l1[i]==l2[j], print the subset between i and j.

n = len(l1)
[l1[i:j 1] for i in range(n) for j in range(i 1, n) if l1[i] == l1[j]]
  • Related