① python 在二維列表中查找出包含指定值的子列表
如果 list 存儲了若干復雜結構的值,比如這樣的一個列表:
temp = [('a', 1, 1.5),
('b', 2, 5.1),
('c', 9, 4.3)]
你想找到其中是 ('b', XX, XX) 這樣的元素,其中 XX 可以為任意值。這種情況無法通過 index 函數來獲得,我們可以利用 sort 的 key 參數來實現。
list.sort(或者 sorted 函數)有一個 key 參數,你可以提供一個函數來作為排序的依據。此時我們可以傳入以下值:
temp.sort(key = lambda x:x[0]!='b')
隨後我們會發現,所有形如 ('b', XX, XX) 的元素全部浮動到了列表的頭部,此時我們訪問 temp[0] 就可以獲得想要查找的值了。
我們也可以寫一個簡單的函數:
findindex = lambda self,i,value:sorted(self,key=lambda x:x[i]!=value)[0]
那我們只需要這樣調用:
>>> findindex(temp,0,'b')
就會返回它找到的第一個值:
>>> ('b',2)
② Python 二維列表,用sorted函數怎麼多重排序
在歷返歷Python中,使用sorted函數對二維列表進行多重排序可以使用key參數。key參數接收一個函數,該函數接收一個列表元素作為參數世皮,返回一個用肢搜於排序的值。可以使用lambda函數來實現多重排序,例如:
sorted_list = sorted(my_list, key=lambda x:(x[1],x[2],x[0]))
這將按第1個元素,第2個元素,第3個元素的順序對二維列表進行排序。
③ 在 Python 中使用二維數組
在Python中,可以猜山鉛使用列表嵌套的方式來實現二維數組。例如,以下是一個3x3的二維數組的示例代碼:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(arr[0][0])
# 輸出1
print(arr[1][2])
# 輸出6
在上面的代碼中,我唯卜們首先創建一個列表arr,其中包含3個子列表。每個子列表都包含3個元素,因此我們可以將arr視為一個3x3的二維數組。要訪問二維數組中的元素,我們可以使用兩個索引,第一個索引用於選擇子列表,第二個索引用於選擇穗好子列表中的元素。例如,arr[0][0]表示選擇第一個子列表的第一個元素,即1。arr[1][2]表示選擇第二個子列表的第三個元素,即6。