Python:如何转换列表多组数组

use*_*_az 3 python numpy list

我必须将值列表更改为多个数组,如下所示:

list_train_data = [u'Class 1',
 u'Class 2',
 u'Class 3',
 u'Class 4',
 u'Class 5']
Run Code Online (Sandbox Code Playgroud)

我需要将这个值放入一个数组中:

train_set = [['Class 1'],['Class 2'],['Class 3'],['Class 4'],['Class 5']]
Run Code Online (Sandbox Code Playgroud)

如果可能的话不要用于循环.

Ash*_*ary 7

使用列表理解:

train_set = [[x] for x in list_train_data]
Run Code Online (Sandbox Code Playgroud)

演示:

>>> list_train_data = [u'Class 1', u'Class 2', u'Class 3', u'Class 4', u'Class 5']
>>> [[x] for x in list_train_data]
[[u'Class 1'], [u'Class 2'], [u'Class 3'], [u'Class 4'], [u'Class 5']]
Run Code Online (Sandbox Code Playgroud)

  • 从技术上讲,这仍然是一个循环. (2认同)

HYR*_*YRY 7

Scince你添加了numpy标签,这是一个numpy解决方案:

list_train_data = [u'Class 1',
 u'Class 2',
 u'Class 3',
 u'Class 4',
 u'Class 5']

import numpy as np
np.array(list_train_data, "O")[:, None]
Run Code Online (Sandbox Code Playgroud)

结果是:

array([[u'Class 1'],
       [u'Class 2'],
       [u'Class 3'],
       [u'Class 4'],
       [u'Class 5']], dtype=object)
Run Code Online (Sandbox Code Playgroud)