Skip to main content
 首页 » 编程设计

python之如何将列表拆分为 Python 3 中的嵌套列表

2025年05月04日15kuangbin

我想将一个列表拆分成一个嵌套列表。我的 list 是这样的:

[1,2,1,3,2] 

现在,我希望输出是这样的:

[[1,2],[2,1],[1,3],[3,2]] 

有没有可能像上面提到的那样输出?

请您参考如下方法:

你可以使用zip

lst = [1,2,1,3,2] 
 
res = [list(pair) for pair in zip(lst, lst[1:])] 
print(res)  # -> [[1, 2], [2, 1], [1, 3], [3, 2]] 

注意:zip 中 lst 的第一个实例不必切片,因为它是两个中最小的一个将生成的元组数。


正如@Jean-FrancoisFabre 在评论中所说,如果原始列表很大,您可能希望使用生成器而不是硬 切片。

res = [list(pair) for pair in zip(lst, itertools.islice(lst, 1, None))] 

这种方法的好处(或前一种方法的缺点)是 zip (lst[1:]) 中使用的第二个列表不是在内存,但您需要 import itertools 才能正常工作。