[英]How do I convert a Python list of integers into a list of lists?
我有一個這樣的元素列表:
[1,2,3,4]
我需要將它們轉換為列表列表,因為這樣的輸出:
[[1],[2],[3],[4]]
我已經使用map
函數或list
關鍵字搜索了一些答案,但是它拋出一個錯誤,表明整數不可迭代。
有關如何執行此操作的任何建議?
您可以使用列表推導來構建列表列表:
>>> 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]]
在整數x
上調用list()
無效(如您所述),因為整數是不可迭代的(不同於字符串或元組):您需要通過編寫[x]
創建包含x
的列表。
也可以使用NumPy函數atleast_2d ,例如:
>>> from numpy import atleast_2d
>>> a = [1, 2, 3, 4]
>>> atleast_2d(a).T
array([[1],[2],[3],[4]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.