一、Python List 多維數組介紹
Python中,List是變長的、可以存儲任意數據類型的數組。而多維數組是指在List中,每個元素又是一個List,即嵌套的List。Python支持二維數組,甚至可以使用List實現任意維度的多維數組。
在Python中,我們可以使用如下方法定義一個二維數組:
# 定義一個二維數組
two_dimensional_list = [[1,2,3], [4,5,6], [7,8,9]]
上面的代碼定義了一個3行3列的二維數組,可以使用兩個索引值來訪問其中的元素:
# 訪問二維數組中的元素
print(two_dimensional_list[0][0]) # 輸出1
print(two_dimensional_list[1][2]) # 輸出6
print(two_dimensional_list[2][1]) # 輸出8
二、Python List 多維數組的遍歷
Python中,我們可以使用for循環來遍歷多維數組中的所有元素,下面是一個例子:
# 遍歷二維數組
for row in two_dimensional_list:
for col in row:
print(col, end=' ')
print()
上面的代碼會逐行輸出二維數組中的所有元素:
1 2 3
4 5 6
7 8 9
如果我們想要遍歷多維數組中的所有元素的坐標,可以使用enumerate函數:
# 遍歷二維數組,輸出索引值和元素
for i, row in enumerate(two_dimensional_list):
for j, col in enumerate(row):
print('(', i, ',', j, ')', '=', col)
三、Python List 多維數組的切片
切片是指按照一定規律取出某個序列中的一部分元素。在Python中,我們可以使用切片來訪問多維數組中的某一部分內容。比如我們可以使用如下代碼來獲取二維數組的第一行和第二行第一列的元素:
# 獲取多維數組中的片段
print(two_dimensional_list[0:2][0])
上面的代碼會輸出[1,2,3],這是錯誤的結果,因為在Python中,切片是按照從前往後的順序來取的。正確的方式是先取出第一行和第二行,然後再從中取出第一列,如下:
# 獲取多維數組中的片段
print([row[0] for row in two_dimensional_list[0:2]])
上面的代碼會輸出[1, 4],也就是第一行和第二行第一列的元素。
四、Python List 多維數組的操作
Python List支持豐富的操作,比如增加、刪除、修改等操作。我們可以通過如下代碼來對多維數組進行增刪改查操作:
# 定義一個二維數組
two_dimensional_list = [[1,2,3], [4,5,6], [7,8,9]]
# 獲取二維數組中的元素
print(two_dimensional_list[0][0]) # 輸出1
# 修改二維數組中的元素
two_dimensional_list[0][0] = 10
print(two_dimensional_list[0][0]) # 輸出10
# 刪除二維數組中的行
del two_dimensional_list[0]
print(two_dimensional_list)
# 在二維數組中插入行
two_dimensional_list.insert(0, [10, 11, 12])
print(two_dimensional_list)
# 在二維數組中添加元素
two_dimensional_list[0].append(13)
print(two_dimensional_list)
上面的代碼會分別輸出10、[[4,5,6], [7,8,9]]、[[10,11,12], [4,5,6], [7,8,9]]和[[10,11,12,13], [4,5,6], [7,8,9]]。
五、Python List 多維數組的高級操作
Python List還支持一些更加高級的操作,比如排序、過濾、映射等操作。下面是一些例子:
1、按照元素的某個屬性排序:
# 定義一個二維數組
person_list = [['name1', 20], ['name2', 22], ['name3', 18]]
# 按照年齡進行排序
person_list.sort(key=lambda x: x[1])
print(person_list)
上面的代碼會按照年齡從小到大的順序對數組進行排序。
2、對某些元素進行過濾:
# 定義一個二維數組
two_dimensional_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 過濾出所有大於5的元素
filtered_list = [col for row in two_dimensional_list for col in row if col > 5]
print(filtered_list)
上面的代碼會過濾出所有大於5的元素,輸出[6,7,8,9]。
3、對某些元素進行映射:
# 定義一個二維數組
two_dimensional_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 將所有元素都加1
mapped_list = [[col+1 for col in row] for row in two_dimensional_list]
print(mapped_list)
上面的代碼會對二維數組中的每個元素都加1,輸出[[2,3,4], [5,6,7], [8,9,10]]。
六、總結
在Python中,我們可以使用List來實現多維數組。Python List支持豐富的操作,比如遍歷、切片、增刪改查等操作。在進行多維數組操作時,需要注意切片和遍歷的順序問題。此外,Python List還支持一些高級操作,比如排序、過濾和映射等操作,可以大大提高我們處理多維數組時的效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/195965.html