我有一个像这样的元素列表:
[1,2,3,4]
我需要将它们转换为列表列表,因为输出如下:
[[1],[2],[3],[4]]
我使用map
函数或使用list
关键字搜索了一些答案,但是它引发了一个错误,指出整数不可迭代。
有关如何执行此操作的任何建议吗?
答案 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]])