python - 如何从 python 中的列表列表创建二维数组?
问题描述
我有一个看起来像这样的列表列表:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
我想创建一个 2 x 2 数组,前 2 个元素位于顶部,后两个元素位于底部,如下所示:
[1, 2, 3], [4, 5, 6]
[7, 8, 9], [10, 11, 12]
到目前为止,我尝试的是使用以下方法重塑:
np.array(arr).reshape(2,2)
但是,每当我这样做时,我都会得到一个ValueError:新数组的总大小必须保持不变 我到底错过了什么或者我怎样才能让它工作?
解决方案
尝试使用list
理解:
nparr = np.array([arr[i:i + 2] for i in range(0, len(arr), 2)]
print(nparr)
输出:
[[[1 2 3] [4 5 6]]
[[7 8 9] [10 11 12]]]
推荐阅读
- css - 如何修复无效请求(不支持的 SSL 请求)
- java - 是否存在 repaint(long maxdelay) = repaint() 的 maxdelay 值?
- vue.js - 仍然无法将变量从烧瓶分配给 vue.js
- html - 托管在 firebase 托管上的 html 页面上的视频无法在 Safari 上运行
- node.js - How to use multiple andWhere with knex in Node app?
- python - 如何获取 Python 列表的切片以组合连续元素?
- r - 如何在 google-collaboration 上安装 rgdal 和/或上传栅格
- javascript - 如何遍历 JSON 模式并将所有值设置为空字符串?
- excel - 如何在 VBA 的 for 循环中索引 excel 工作表函数的参数?
- html - 如何将文本相对于另一个文本的单个字母居中?