Python多個陣列合並

c-xuan發表於2019-02-27

Python中多個陣列合併為一個陣列的方法整理。

extend方法

該方法可以擴充套件陣列,會改變原始陣列。

a = [1,2,3,4,7,5,6]
b = ['a','b']
c = ['h',12,'c']
a.extend(b)
a.extend(c)
print(a)

#結果:[1, 2, 3, 4, 7, 5, 6, 'a', 'b', 'h', 12, 'c']

直接相加

+將各陣列連線起來。

a = [1,2,3,4,7,5,6]
b = ['a','b']
c = ['h',12,'c']

d = a + b +c
print(d)

#結果:[1, 2, 3, 4, 7, 5, 6, 'a', 'b', 'h', 12, 'c']

flatten方法

flatten()方法是numpy中array陣列的方法,使用時要匯入包和型別轉換。

from numpy import array

a = [1,2,3]
b = ['a','b','c']
c = ['h',12,'k']
e = [a,b,c]
e = array(e)
print(e.flatten())

#結果:['1' '2' '3' 'a' 'b' 'c' 'h' '12' 'k']

值得注意的是該方法不適用各陣列中元素個數不同的情況。

a = [1,2,3,4]  #元素個數不同
b = ['a','b','c']
c = ['h',12,'k']
e = [a,b,c]
e = array(e)
print(e.flatten())

#結果:[list([1, 2, 3, 4]) list(['a', 'b', 'c']) list(['h', 12, 'k'])]

列表表示式

使用前得把多個陣列放在一個陣列中,應用在一個二維陣列上。

a = [1,2,3,4] 
b = ['a','b','c']
c = ['h',12,'k']
e = [a,b,c]
e = [y for x in e for y in x]
print(e)

結果:[1, 2, 3, 4, 'a', 'b', 'c', 'h', 12, 'k']

更多

相關文章