这是一个列表示例,我想将其转换为python中的列表列表:
P = [1,2,3,4]
我写了以下代码来解决这个问题:
u=[]
v=[x for x in p]
u.append(v)
我的结果:[[1,2,3,4]]
Result I would like to have: **[[1],[2],[3],[4]]**
有什么建议吗?感谢。
答案 0 :(得分:6)
只需对列表推导进行一些小调整,然后将x
括在括号中,将每个元素放在列表中。
>>> p = [1, 2, 3, 4]
>>> v = [[x] for x in p]
>>> v
[[1], [2], [3], [4]]
答案 1 :(得分:2)
你想要这样的东西:
u = [[x] for x in p]
答案 2 :(得分:1)
正如其他答案所描述的那样,列表理解是一种直截了当的方式,但也有其他选择
>>> map(list,zip(p))
[[1], [2], [3], [4]]
或
>>> from itertools import izip
>>> map(list,izip(p))
[[1], [2], [3], [4]]