gpt4 book ai didi

将嵌套列表操作为嵌套分块列表的 Pythonic 方法

转载 作者:行者123 更新时间:2023-11-28 19:49:02 26 4
gpt4 key购买 nike

我有一个列表,其嵌套列表的大小可能随 2 的倍数而变化。目前,在此示例中,嵌套列表的长度为 4。

a_list = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

根据长度,我试图打破列表以尽可能最好的 pythonic 方式获得以下结果:

a = [[1,2], [5,6], [9,10]]
b = [[3,4], [7,8], [11,12]]

如果嵌套列表的长度是6,那么

c = [[..], [..], [..]]

它是一种嵌套列表的转置,但在一行中有 2 个值的集合不能转置。

最佳答案

使用列表理解:

>>> a_list = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
>>> a = [x[:2] for x in a_list]
>>> b = [x[2:] for x in a_list]
>>> a
[[1, 2], [5, 6], [9, 10]]
>>> b
[[3, 4], [7, 8], [11, 12]]

更通用的解决方案:

>>> [[x[i:i+2] for x in a_list] for i in range(0, len(a_list[0]), 2)]
[[[1, 2], [5, 6], [9, 10]],
[[3, 4], [7, 8], [11, 12]]]

关于将嵌套列表操作为嵌套分块列表的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26102353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com