2016-07-27 80 views
-3

我想将列表转换为列表的列表。例如:将列表转换为列表的列表

my_list = ['banana', 'mango', 'apple'] 

我想:

my_list = [['banana'], ['mango'], ['apple']] 

我想:

list(list(my_list)) 
+5

[打开列表到嵌套的列表在Python]的可能的复制(http://stackoverflow.com/questions/6614891 /把-a-list-into-nested-lists-in-python) – miradulo

回答

9

使用列表理解

[[i] for i in lst] 

它的每一项遍历列表,并将该项目添加到新列表中。

例子:

>>> lst = ['banana', 'mango', 'apple'] 
>>> [[i] for i in lst] 
[['banana'], ['mango'], ['apple']] 

如果你在每个项目上应用list FUNC,它会变成这是字符串格式字符串列表中的每个项目。

>>> [list(i) for i in lst] 
[['b', 'a', 'n', 'a', 'n', 'a'], ['m', 'a', 'n', 'g', 'o'], ['a', 'p', 'p', 'l', 'e']] 
>>> 
+0

谢谢Avinash ..对我来说工作正常.. – Sameer

+0

那么map怎么样?我喜欢这个'map(list,lst)' – smac89

+0

@khredos nooo .... –

3

试试这个内胆: -

map(lambda x:[x], my_list) 

结果

In [1]: map(lambda x:[x], my_list) 
Out[1]: [['banana'], ['mango'], ['apple']] 
+1

虽然不pythonic,这是一个正确的答案。不知道为什么这是downvoted。可以做得更简洁:'map(list,my_list)'。 – SuperSaiyan

+0

@SuperSaiyan地图比列表编辑稍慢。 –

+0

@AvinashRaj我喜欢可读性和优雅性,而非微观优化。如果那些纳秒值得很多,我可能选择其他语言。 – SuperSaiyan