Skip to main content
 首页 » 编程设计

python之通过使用列表理解将列表拆分为更小的列表,其中每个更小的列表随后更小

2025年05月04日22落叶无声

我有一个列表,我想拆分成一个列表列表,这样新列表中的每个列表都小一个元素。

例如:

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

有没有一种简单的方法可以通过列表理解来做到这一点?

请您参考如下方法:

您可以使用切片和列表理解。

>>> [exampleList[i:] for i in range(len(exampleList) - 1)]  
[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [2, 3, 4, 5, 6, 7, 8, 9, 10], [3, 4, 5, 6, 7, 8, 9, 10], [4, 5, 6, 7, 8, 9, 10], [5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10], [7, 8, 9, 10], [8, 9, 10], [9, 10]] 

exampleList[i:] 将从当前索引 i 到末尾的所有元素。如果要在结果中包含 [10],请在对 len 的调用中省略 - 1。