I have a 2D list of lists in Python and I need to find the lowest float in column 1, and then return the value in the same row, but at column 0.
mylist = [['someid-1', None] ,['someid-2', 4545.474] ,['someid-3', 200.1515] ,['someid-4', None] ,['someid-4', 0]]
In this case I want returned: someid-3
At the moment I am appending only values which are not None
and then do this: (which seems complicated for such a "simple" task)
mylist.sort(key=lambda x: x[1])
if len(temp_op_distance_list) != 0 and temp_op_distance_list[0][1] != None:
return temp_op_distance_list[0][0]
Some info on the overall Python project.
The list is about 8000 entries with values 'None' and some floats
.
This code collects distance to a Mousepointer in 3D space and test all 3D objects in the Programm. When there is the value None
the object was not hit.
Edited: Proper list formatting - Of course you all are right, pointing out that my list is not correct. Sorry about that.