顯示該子表的另一個值說我有一個列表:挑選最小值出子列表的列表的並具有最小
stuff = [[5,3,8],[2,4,7],[14,5,9]]
,其中每個子列表的形式[x,y,z]
的。
我想找到子列表中第三個條目的最小值,即z=7
。然後我想打印出該子列表的第一個值,x
。
ex)z的最小值出現在x = 2
。
顯示該子表的另一個值說我有一個列表:挑選最小值出子列表的列表的並具有最小
stuff = [[5,3,8],[2,4,7],[14,5,9]]
,其中每個子列表的形式[x,y,z]
的。
我想找到子列表中第三個條目的最小值,即z=7
。然後我想打印出該子列表的第一個值,x
。
ex)z的最小值出現在x = 2
。
您可以使用內置的min
功能與key
參數,這樣
stuff = [[5,3,8],[2,4,7],[14,5,9]]
print min(stuff, key = lambda x: x[2])[0] # 2
爲了使這個更具可讀性,你可以解開這樣
print min(stuff, key = lambda (x, y, z): z)[0]
對於每一個元素的值的東西,分配給key
參數的功能將被調用。現在,最小值將僅根據該函數返回的值來確定。
您可以通過內置的min
功能key
訪問的第三個元素中的每個子表:
演示
>>> stuff = [[5,3,8],[2,4,7],[14,5,9]]
>>> x, y, z = min(stuff, key=lambda arr: arr[2])
>>> x, y, z
(2, 4, 7)
優秀的,它的工作原理。謝謝,但你能告訴我什麼key = lambda嗎? –
@BobUnger請檢查答案以獲得簡要說明,並查看我爲'min'提供的文檔鏈接。 :) – thefourtheye