python - 如何在不使用循环的情况下将一维列表转换为二维列表?
问题描述
我有一个浮动列表:
[1.0, 2.0, 3.0, 4.0]
如何将此列表重塑为多维数组,例如:
[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0], [4.0, 4.0 ,4.0]]
不使用循环?是否可以使用numpy
或任何其他?
解决方案
如果你从一个 NumPy 数组开始,你可以使用numpy.repeat()
然后reshape()
得到你想要的数组大小/形状:
> import numpy as np
> a = np.array([1.0, 2.0, 3.0, 4.0])
> np.repeat(a, 3).reshape(-1, 3)
array([[1., 1., 1.],
[2., 2., 2.],
[3., 3., 3.],
[4., 4., 4.]])
推荐阅读
- sql - 如何从 Pentaho-Kettle 中基于动态选择的 sql 查询中获取结果集?
- ansible - Ansible jinja2 未使用 with_items 连接到列表
- javascript - 具有多个订阅的淘汰单个 observable
- javascript - 如何解决invariant Violation的错误:Native module cannot be null()
- r - 从源代码构建 R 3.6.0 不允许安装包
- arcgis-js-api - ArcGIS APi JS 3.28,panTo 不是函数
- python - 获取两个表面的差异图
- java - ojdbc8 DB_URL 用于故障转移
- python - 如何将数据包嗅探器输出 pkt.show() 原始数据存储到日志文件中
- javascript - 使用 Lodash 在对象的任何属性值中查找部分字符串