如何将Python的整数列表转换为列表列表?

时间:2014-11-04 20:46:18

标签: python list

我有一个像这样的元素列表:

[1,2,3,4]

我需要将它们转换为列表列表,因为输出如下:

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

我使用map函数或使用list关键字搜索了一些答案,但是它引发了一个错误,指出整数不可迭代。

有关如何执行此操作的任何建议吗?

2 个答案:

答案 0 :(得分:2)

您可以使用列表推导来构建列表列表:

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

或者map

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

在整数list()上调用x不会起作用(正如你所说),因为整数不可迭代(不像字符串或元组):你需要创建一个包含通过撰写x[x]

答案 1 :(得分:0)

也可以使用NumPy函数atleast_2d,例如:

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