2014-11-04 230 views
0

我有這樣的元素的列表:如何將Python整數列表轉換爲列表列表?

[1,2,3,4] 

我需要將它們轉換成列表的列表,因爲輸出是這樣的:

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

...我已經尋找使用map一些答案函數或使用list關鍵字,但會拋出一個錯誤,指出該整數不可迭代。

有關如何做到這一點的任何建議?

+0

請告訴我們你試過到目前爲止一些代碼。 – SBH 2014-11-04 20:50:32

+0

地圖(lambda x:[x],l)正在爲我工​​作。 – 2014-11-05 21:15:53

回答

2

您可以使用列表解析創建列表清單:一個整數x將無法​​正常工作調用list()(爲你的國家)

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

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

或者,map因爲整數不是可迭代的(不像字符串或元組),您需要通過編寫[x]來創建一個包含x的列表。

+0

即使如此,在字符串或元組上執行時,它也不會執行問題中所期望的內容。 – 2014-11-04 20:57:49

0

的NumPy的功能atleast_2d也可以使用,e.g:

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