python - 用 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()
推荐阅读
- nlp - TextEncodeInput 在尝试标记时必须是 Union[TextInputSequence, Tuple[InputSequence, InputSequence]]
- android - 获取双变量值时Android中的致命异常
- xpath - 在使用 webhook.site 的电子邮件上需要提取 XPath 帮助
- python - Python-PPTX 日期轴
- java - 如何仅从所需的类(流)中获取数据?
- html - 如何在背景不透明度为 0.6 的元素上设置文本?
- docker - 全局模式下的 Docker swarm 在更新时使某些服务的副本过多
- sql - 如何将 TIMESTAMP_TRUNC(started_at, month) 输出为字符串,例如“JAN”
- python - Cython 的问题:导入时未找到已编译的模块
- javascript - 如何根据使用 ReactJS 和 Axios 单击的按钮将用户 onClick 事件发送到不同的端点 url