gpt4 book ai didi

python - 在 python 中给定所需的列表大小,将列表分解为子列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:11 24 4
gpt4 key购买 nike

我有一个如下所示的列表:

arr = [['3'], ['1', '0.0'], ['2', '0.05'], ['3', '0.1'], ['1', '1'], ['2', '1'], ['3', '1']]

我想把这个列表分成更小的子列表,这些子列表的大小在原始列表的第一个元素中给出(例如这里的 3)并且只包含第二个元素。执行此操作的最 pythonic 方法是什么?

sublist1 = [0.0, 0.05, 0.1]
sublist2 = [1, 1, 1]

我试过使用列表理解,但我不知道如何规定 for 循环来遍历数组(即在索引 1 和 3 之间或索引 4 和 6 之间)上面的示例 arr)。

n_nodes = arr[0][0] # gets number of nodes, 3
first_section = [element[1] for element in arr]

最佳答案

让我们将其分解为简单的步骤。首先,获取整数形式的 block 大小:

>>> [n] = arr[0]
>>> n = int(n)
>>> n
3

然后,获取第二个元素的列表。有几种方法可以做到这一点,但最可读的是使用列表理解:

>>> bs = [b for [a,b] in arr[1:]]
>>> bs
['0.0', '0.05', '0.1', '1', '1', '1']

现在,将这个列表切成 block 。这是一个已经解决的问题,在这里无限讨论:

How do you split a list into evenly sized chunks?

关于python - 在 python 中给定所需的列表大小,将列表分解为子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52019578/

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