2014-11-04 196 views
0

我有这样的元素的列表:如何将Python整数列表转换为列表列表?

[1,2,3,4] 

我需要将它们转换成列表的列表,因为输出是这样的:

[[1],[2],[3],[4]] 

...我已经寻找使用map一些答案函数或使用list关键字,但会抛出一个错误,指出该整数不可迭代。

有关如何做到这一点的任何建议?

+0

请告诉我们你试过到目前为止一些代码。 – SBH 2014-11-04 20:50:32

+0

地图(lambda x:[x],l)正在为我工​​作。 – 2014-11-05 21:15:53

回答

2

您可以使用列表解析创建列表清单:一个整数x将无法​​正常工作调用list()(为你的国家)

>>> list(map(lambda x: [x], l)) # list() not needed in Python 2 
[[1], [2], [3], [4]] 

>>> l = [1,2,3,4] 
>>> [[x] for x in l] 
[[1], [2], [3], [4]] 

或者,map因为整数不是可迭代的(不像字符串或元组),您需要通过编写[x]来创建一个包含x的列表。

+0

即使如此,在字符串或元组上执行时,它也不会执行问题中所期望的内容。 – 2014-11-04 20:57:49

0

的NumPy的功能atleast_2d也可以使用,e.g:

>>> from numpy import atleast_2d 
>>> a = [1, 2, 3, 4] 
>>> atleast_2d(a).T 
array([[1],[2],[3],[4]]) 
相关问题