Python 多維列表變為一維列表的方法

2021-09-29 07:08:39 字數 1054 閱讀 4880

題目

給定乙個多維列表,怎麼讓其變為一維?

例如,輸入:[[1, 4], [2], [3, 5, 6]],輸出:[1, 4, 2, 3, 5, 6]

常規一行做法

a =[[

1,4]

,[2]

,[3,

5,6]

]a =

[j for i in a for j in i]

print

(a)

呼叫庫不用迴圈一行做法
import itertools

a =[[1

,4],

[2],

[3,5

,6]]

a =list

(itertools.chain.from_iterable(a)

)print

(a)

自己寫迭代器做法
a =[[

1,4]

,[2]

,[3,

5,6]

]a =

iter

(a)b =

while1:

try:

b += a.__next__(

)except stopiteration:

break

print

(b)

(備註:理論上法三中用了迭代器,會比法一節約空間,但是因為另外開闢了乙個變數b,所以可能也沒有相差很多,具體需要個分析記憶體空間的工具,之後再補)

呼叫numpy

import numpy as np

a =[[1

,4],

[3,2

],[5

,6]]

a = np.array(a)

.flatten(

).tolist(

)print

(a)

但是用numpy的前提是list中每一行的元素個數要一樣

有其他想法的小夥伴歡迎一起**~

python 多維列表(巢狀列表)

python 多維列表 巢狀列表 姓名,年齡,工資 姓名,年齡,工資 姓名,年齡,工資 字串 姓名,年齡,工資 例如 張三,30,2000 str 張三,30,2000 l str.split print l emp list 單個人的資訊 info input 請輸入員工資訊 info list ...

python建立多維列表

by francis hao mar 24,2018 操作符可以用於列表,表示將列表內容重複n次。如下,但是當列表內容是列表的時候就出問題了,如果我只是修改多維列表中的一項,結果是所有的都改變了,如下 這是因為,操作符相當於 淺複製 的概念。只複製了乙個 指標 過去,如下 這個時候如果修改複製後的內...

Python 列表 二維列表轉換為一維列表

將以下二維列表變為一維列表。nums 1,2,3 4,5,6 7,8,9 num for hang in nums for num in hang 1,2,3,4,5,6,7,8,9 res for hang in nums for num in hang 1,2,3,4,5,6,7,8,9 res...