Python中的二維列表是非常常見的數據結構,它可以用於存儲各種類型的數據,包括數字、字符串等等。在某些情況下,我們需要從二維列表中取出某一列的數據進行處理,本文將介紹多種Python二維列表取一列的方法。
一、Python二維列表索引
我們可以使用Python中的索引來獲取二維列表的某一列,具體實現方式如下:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
column = [row[1] for row in matrix]
print(column)
在上述代碼中,我們先定義了一個二維列表 matrix
,然後使用列表推導式取出了其中的第二列數據(索引從0開始,所以第二列的索引為1),存儲在變量 column
中。我們將這個變量打印出來,結果為:
[2, 5, 8]
這種方法非常方便,代碼也比較簡潔,因此在Python中比較常用。
二、Python二維列表添加數據
如果需要對二維列表的某一列進行添加操作,我們可以通過修改每行數據的方式來實現。具體實現方法如下:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
new_column = [10,11,12]
for i in range(len(matrix)):
matrix[i][1] = new_column[i]
print(matrix)
在上述代碼中,我們將需要添加的數據存儲在 new_column
變量中,然後使用 for
循環遍歷二維列表的每一行,再將 new_column
中對應索引的數據賦值給第二列。最後我們將整個二維列表打印出來,結果為:
[[1, 10, 3], [4, 11, 6], [7, 12, 9]]
這種方法比較直觀,容易理解,但是需要藉助循環來完成,相對來說稍微麻煩一些。
三、Python二維列表的索引值是
有時候,我們需要知道某一列的索引值是多少,這樣才能使用索引來獲取對應數據。我們可以使用以下方法來獲取二維列表的所有索引值:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
for row in matrix:
for i, value in enumerate(row):
if i == 1:
print(value)
在上述代碼中,我們使用兩個 for
循環遍歷二維列表的所有元素,其中通過 enumerate
函數獲取每個元素的索引值和對應的數據。然後我們判斷索引值是否為1(即第二列),如果是則將對應數據打印出來。運行代碼,結果為:
2
5
8
這種方法較為普遍,可以用於獲取任意一列的索引值。
四、Python二維列表取一行
如果我們需要獲取二維列表的某一行,可以使用以下代碼:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
row = matrix[1]
print(row)
在上述代碼中,我們使用索引 1
獲取了二維列表的第二行(索引從0開始,所以第二行的索引為1),並將其存儲在變量 row
中。最後我們將這個變量打印出來,結果為:
[4, 5, 6]
五、Python列表取一列元素
除了使用列表推導式來獲取某一列數據之外,還可以通過轉置二維列表再取出其中的一行來實現。具體實現方法如下:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
column = [row[1] for row in zip(*matrix)]
print(column)
在上述代碼中,我們使用 zip
函數將二維列表進行轉置,然後通過列表推導式取出其中的第二行。結果與第一種方法相同:[2, 5, 8]
。
六、Python二維列錶轉一維
有時候,我們需要將二維列錶轉換為一維列表,可以使用以下代碼實現:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
new_list = [num for row in matrix for num in row]
print(new_list)
在上述代碼中,我們使用了兩個嵌套的列表推導式,將二維列錶轉換為了一維列表。最後我們將這個新列表打印出來,結果為:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
七、Python二維列表添加數據
有時候需要在二維列表的後面添加一個新的行或者一列數據,可以使用以下代碼實現:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
new_row = [10,11,12]
matrix.append(new_row)
print(matrix)
new_column = [10,11,12]
for i in range(len(matrix)):
matrix[i].append(new_column[i])
print(matrix)
在上述代碼中,我們先定義了一個新的行和一列數據,然後通過 append
函數將其添加到了二維列表的後面。注意添加一列數據需要藉助循環來完成,需要遍歷列表中的每一行。
八、Python二維列表取某一列
在實際開發中,有時候我們需要多次取出同一列的數據,可以將其封裝為函數,實現代碼如下:
def get_column(matrix, column_number):
column = [row[column_number] for row in matrix]
return column
matrix = [[1,2,3],[4,5,6],[7,8,9]]
column = get_column(matrix, 1)
print(column)
在上述代碼中,我們定義了一個 get_column
函數,用於獲取二維列表的某一列數據。該函數接受兩個參數,分別是二維列表 matrix
和列的索引值 column_number
。函數內部使用了列表推導式來實現數據的取出,最後將結果返回。
九、Python二維列表將一行賦值
有時候需要將一維列表的數據賦值給二維列表的某一行,可以使用以下代碼實現:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
new_row = [10,11,12]
matrix[1] = new_row
print(matrix)
在上述代碼中,我們將一維列表 new_row
賦值給了二維列表的第二行(索引從0開始,所以第二行的索引為1)。最後我們將整個二維列表打印出來,結果為:
[[1, 2, 3], [10, 11, 12], [7, 8, 9]]
十、Python二維列表每列求和
有時候需要對二維列表中的每一列進行求和操作,可以使用以下代碼實現:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
sums = [sum(row) for row in zip(*matrix)]
print(sums)
在上述代碼中,我們使用 zip
函數將二維列表進行轉置,然後使用列表推導式求出每一列的和。最後我們將結果打印出來,結果為:
[12, 15, 18]
結論
Python二維列表取一列的方法有很多種,本文簡要介紹了其中的十種方法,包括使用列表推導式、循環遍歷、轉置等等。根據實際需求,可以靈活選擇合適的方法進行操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/241300.html