簡體   English   中英

如何將整數的Python列表轉換為列表列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM