在Python中,使用數(shù)組來存儲一系列的數(shù)據(jù)是非常常見的,而有時我們需要從數(shù)組中取出多列數(shù)據(jù)。下面我們來介紹一些常見的方法:
# 定義一個二維數(shù)組,其中有三列數(shù)據(jù) array = [[1,2,3], [4,5,6], [7,8,9]] # 取出第一列數(shù)據(jù) col1 = [row[0] for row in array] print(col1) # 輸出 [1, 4, 7] # 取出第二列數(shù)據(jù) col2 = [row[1] for row in array] print(col2) # 輸出 [2, 5, 8] # 取出第一列和第三列數(shù)據(jù),使用zip函數(shù)將兩個列表合并 col1, col3 = zip(*[(row[0], row[2]) for row in array]) print(col1) # 輸出 (1, 4, 7) print(col3) # 輸出 (3, 6, 9)
以上代碼中,我們使用了列表推導(dǎo)式和zip函數(shù)來實現(xiàn)取出多列數(shù)據(jù)的操作。
對于列表推導(dǎo)式,它的語法如下:
[expression for item in iterable]
其中,expression為表達(dá)式,item為可迭代對象中的元素,iterable為可迭代對象。列表推導(dǎo)式的輸出結(jié)果為一個列表。
而zip函數(shù)的語法如下:
zip(*iterables)
其中iterables為可迭代對象,函數(shù)返回一個由各個可迭代對象中對應(yīng)元素組成的元組。
通過以上方法,我們可以很方便地取出多列數(shù)據(jù),并進(jìn)行相應(yīng)的處理。