使用 Python 拆分子列表
Break the sublists with Python
这是我要打破的列表:
List A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
列表A有2个子列表,每个子列表包含3对坐标。我想知道我是否可以保留这些坐标的顺序,但将一对坐标重新组合为子列表。所以这是所需的输出:
List B = [[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
谢谢!!
您可以将其转换为 numpy 数组,对其进行整形,然后再将其转换回来。
import numpy as np
A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
npA = np.array(A)
B = npA.reshape(6, 2, 2).tolist()
或者,如果您希望它泛化到不同的输入大小
B = npA.reshape(npA.size // 4, 2, 2).tolist()
根据您的具体要求,您可以使用列表 A 的第一个元素并使用列表 A 的第二个元素扩展它
B = A[0]
B.extend(A[1])
关于您的具体问题,我们可以从A[0]+A[1]
得到B
>>> A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
>>> B = [[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
>>> A[0] + A[1]
[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
>>> A[0] + A[1] == B
True
这是我要打破的列表:
List A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
列表A有2个子列表,每个子列表包含3对坐标。我想知道我是否可以保留这些坐标的顺序,但将一对坐标重新组合为子列表。所以这是所需的输出:
List B = [[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
谢谢!!
您可以将其转换为 numpy 数组,对其进行整形,然后再将其转换回来。
import numpy as np
A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
npA = np.array(A)
B = npA.reshape(6, 2, 2).tolist()
或者,如果您希望它泛化到不同的输入大小
B = npA.reshape(npA.size // 4, 2, 2).tolist()
根据您的具体要求,您可以使用列表 A 的第一个元素并使用列表 A 的第二个元素扩展它
B = A[0]
B.extend(A[1])
关于您的具体问题,我们可以从A[0]+A[1]
B
>>> A = [[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]]], [[[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]]
>>> B = [[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
>>> A[0] + A[1]
[[[0, 1], [2, 3]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]], [[0, 3], [1, 2]], [[0, 2], [1, 3]]]
>>> A[0] + A[1] == B
True