簡體   English   中英

嵌套 for 循環的列表理解

[英]List comprehension on nested for loop

我有一個清單:

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

我想遍歷列表並打印以相同數字開頭和結尾的數字列表。我用 for 循環完成了它:

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

但是如何通過使用列表推導來做到這一點?

我想你想要實現的是:

對於每個i , j ( i < j ),如果l1[i]==l2[j] ,則打印ij之間的子集。

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

編輯:回答有關原始實現的問題。

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

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

#[1, 2, 3, 6, 8, 1]
#[2, 3, 6, 8, 1, 2]
#[3, 6, 8, 1, 2, 3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM