用Python破坏子列表

问题描述

这是我想打破的清单:

    List A = [[[[0,1],[2,3]],[[0,2],[1,3],2]]],[[[0,2]],3]]]]

列表A有2个子列表,每个子列表包含3对坐标。我想知道是否可以保留这些坐标的顺序,但是将一对坐标重新组合为子列表。所以这是所需的输出

    List B = [[[0,3]]]

谢谢!

解决方法

您可以将其转换为numpy数组,对其进行整形,然后将其转换回。

import numpy as np

A = [[[[0,1],[2,3]],[[0,2],[1,3],2]]],[[[0,2]],3]]]]

npA = np.array(A)

B = npA.reshape(6,2,2).tolist()

或者,如果您希望将其推广到不同的输入大小

B = npA.reshape(npA.size // 4,2).tolist()
,

关于您的特定问题,我们可以从B那里获取A[0]+A[1]

>>> A = [[[[0,3]]]]
>>> B = [[[0,3]]]
>>> A[0] + A[1]
[[[0,3]]]
>>> A[0] + A[1] == B
True
,

根据您的特定要求,您可以采用列表A的第一个元素,并将其扩展为列表A的第二个元素

B = A[0]
B.extend(A[1])