【发布时间】:2021-12-02 18:30:57
【问题描述】:
我正在尝试将嵌套列表转换为数组,但有些东西我不明白。 我的程序中有一个嵌套列表:
listt = [[1986.0,71.2,28.4,13.9,34.7], [1987.0,72.0,30.4,14.0,32.4]]
当我直接用它转换成数组时:
array = np.asarray(listt)
我得到:
# out:
array = [[1.986e+03, 7.120e+01, 2.840e+01, 1.390e+01, 3.470e+01],
[1.987e+03, 7.200e+01, 3.040e+01, 1.400e+01, 3.240e+01]]
如果我手动将嵌套列表的每个元素放入一个新变量中,例如:
# in:
x = [[1986.0, 71.2, 28.4, 13.9, 34.7], [1987.0, 72.0, 30.4, 14.0, 32.4]]
array = np.asarray(x)
# out:
# [[1986. 71.2 28.4 13.9 34.7],
# [1987. 72. 30.4 14. 32.4]]
没有分隔的逗号。只是想不明白为什么在这两种情况下。谢谢
【问题讨论】:
-
一个是 2D,一个是 3D。你确定你正确地复制和粘贴了这些东西吗?
-
你的输出有问题,你的第一个输出应该是
[[[1.986.0 , ...]]]注意到三重括号了吗?即使有这种差异,两个输出对我来说都是相同的。 -
@MadPhysicist 很抱歉,我删除了括号(array = np.asarray(listt))
-
@kinshukdua 当我删除每个嵌套列表中的第一个值(例如:1986.0、1987.0)时,我得到了一个我想要的完美数组。但我仍然不明白为什么这些值会对结果产生影响
-
与此无关。比较
str(array)和repr(array)的输出。