Python - 获取列表元素,其中value是所有元素的最小值

时间:2017-09-22 07:31:12

标签: python arrays list

我有以下列表:

[[733.16584917887963, 123620000.0, 32111000.0, 301.0],
 [732.27472276611104, 123620001.0, 32111000.0, 302.3], 
 [731.39029416733558, 123620002.0, 32111000.0, 303.3], 
 [730.49893696170341, 123620003.0, 32111000.0, 303.9], 
 [729.61188100398681, 123620004.0, 32111000.0, 304.2]]

我希望此列表的数组在此数组的第一个元素中具有最小值。

最小值为:

729.61188100398681

我希望得到输出:

[729.61188100398681, 123620004.0, 32111000.0, 304.2]

2 个答案:

答案 0 :(得分:2)

对列表进行排序并取出第一个子列表:

lista = [[733.16584917887963, 123620000.0, 32111000.0, 301.0],
 [732.27472276611104, 123620001.0, 32111000.0, 302.3], 
 [731.39029416733558, 123620002.0, 32111000.0, 303.3], 
 [730.49893696170341, 123620003.0, 32111000.0, 303.9], 
 [729.61188100398681, 123620004.0, 32111000.0, 304.2]]

print(sorted(lista)[0]) # [729.6118810039868, 123620004.0, 32111000.0, 304.2]

答案 1 :(得分:2)

您可以使用sorted和lambda函数来获得结果:

my_list = [[733.16584917887963, 123620000.0, 32111000.0, 301.0],
[732.27472276611104, 123620001.0, 32111000.0, 302.3], 
[731.39029416733558, 123620002.0, 32111000.0, 303.3], 
[730.49893696170341, 123620003.0, 32111000.0, 303.9], 
[729.61188100398681, 123620004.0, 32111000.0, 304.2]]

sorted_lst = sorted(my_list,key=lambda elem:elem[0])

print sorted_lst[0]
#Output : [729.6118810039868, 123620004.0, 32111000.0, 304.2]

同样,您可以根据自己的选择将键更改为任何元素。