如何将 NumPy 数组转换为 Python 列表?
原文由 Alex Brooks 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将 NumPy 数组转换为 Python 列表?
原文由 Alex Brooks 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 numpy 数组形状是 2D,则 numpy .tolist 方法会生成嵌套列表。
如果需要平面列表,则可以使用以下方法。
import numpy as np
from itertools import chain
a = [1,2,3,4,5,6,7,8,9]
print type(a), len(a), a
npa = np.asarray(a)
print type(npa), npa.shape, "\n", npa
npa = npa.reshape((3, 3))
print type(npa), npa.shape, "\n", npa
a = list(chain.from_iterable(npa))
print type(a), len(a), a`
原文由 CodingMatters 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
使用
tolist()
:请注意,这会将值从它们可能具有的任何 numpy 类型(例如 np.int32 或 np.float32)转换为“最近兼容的 Python 类型”(在列表中)。如果你想保留 numpy 数据类型,你可以在你的数组上调用 list() ,你最终会得到一个 numpy scalars 列表。 (感谢 Mr_and_Mrs_D 在评论中指出这一点。)