Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表转换为单独的列表_Python_Numpy - Fatal编程技术网

Python 将列表转换为单独的列表

Python 将列表转换为单独的列表,python,numpy,Python,Numpy,我有一个numpy.ndarray,它是这样的: X = array([1., 1., 1., 1., 1., 1., 1., 2., 1., 1.]) [1.0] [1.0] [1.0] [1.0] [1.0] [1.0] [1.0] [2.0] [1.0] [1.0] 我尝试通过以下操作将其转换为列表: samples = X.reshape(len(X)).tolist() 这就产生了这样的输出 [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0

我有一个numpy.ndarray,它是这样的:

X = array([1., 1., 1., 1., 1., 1., 1., 2., 1., 1.])
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[2.0]
[1.0]
[1.0]
我尝试通过以下操作将其转换为列表:

samples = X.reshape(len(X)).tolist()
这就产生了这样的输出

[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0]
试图将上述内容转换为单独的列表。这样做

new_list = [samples[i] for i in range(10)]
再次给出了这样的输出:

[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0]
我试图获得如下输出:

X = array([1., 1., 1., 1., 1., 1., 1., 2., 1., 1.])
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[1.0]
[2.0]
[1.0]
[1.0]

有人能帮我解决这个问题吗?

使用
None
np.newaxis
向numpy数组添加一个传统轴,然后使用,它将直接为您提供一个嵌套列表:

X[:,None].tolist()
# [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [2.0], [1.0], [1.0]]

使用的方法不起作用,因为您没有添加任何轴,您需要:

X.reshape(len(X), 1).tolist() 

使用列表理解

替换代码:

new_list = [samples[i] for i in range(10)]
[[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [2.0], [1.0], [1.0]]

new_list = [[samples[i]] for i in range(10)]
O/p:

new_list = [samples[i] for i in range(10)]
[[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [2.0], [1.0], [1.0]]

样本[i]应在列表中:

new_list = [[samples[i]] for i in range(10)]

请注意,对于大型列表,重塑numpy数组,然后获取列表将比使用列表理解快得多