2016-07-27 87 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