2017-09-22 3 views
0

Ich habe die folgende Liste:Python - Element der Liste, wo Wert ist das Minimum aller Elemente

[[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]] 

Ich mag das Array von dieser Liste haben, die das Minimum in dem ersten Elemente dieses Array .

Der Mindestwert ist:

729.61188100398681 

Und ich möchte als Ausgabe haben:

[729.61188100398681, 123620004.0, 32111000.0, 304.2] 
+0

Sortieren Sie die Liste nach den ersten Elementen. Dann ist das erste Element der sortierten Liste das gewünschte. – Barmar

+0

@Barmar Warum würdest du das machen, wenn du 'min (..., key =)' benutzen kannst? –

+1

Besser duplizieren Ziel: https://StackOverflow.com/Questions/14802128/Tuple-Pairs-Finding-Minimum-Python –

Antwort

2

Sie können Verwenden Sie sortierte und Lambda-Funktion, um das Ergebnis genau so zu erhalten:

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] 

In ähnlicher Weise können Sie den Schlüssel zu einem der Elemente nach Ihrer Wahl ändern.

2

Sortieren Sie die Liste und die erste Teilliste herausnehmen:

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] 
Verwandte Themen