Python:从列表中的列表中获取最小的项目

时间:2015-11-07 17:22:47

标签: python

假设我有一个名为data的列表。

data = [[3.59, ['foo']], [2.34, ['bar', 'foo']]]

现在我想从数据列表中找到索引,索引0中数据列表中的数字是最小的。所以那将是我的例子0或1但是因为2.34小于3.59它将返回1

编辑:

这是我提出的,但我认为它不是真正有效的atm。

data = [[3.59, ['foo']], [2.34, ['bar', 'foo']]]
smallest_num_list = []

for list in data:
    for i in list[:1]:
        smallest_num_list.append(i)

for list in data:
    for i in list[:1]:
        if i == min(smallest_num_list):
            result = data.index(list)

print result

2 个答案:

答案 0 :(得分:2)

您可以使用enumerate()

idx_min, val_min = min(enumerate(data), key=lambda i, x: x[0])

答案 1 :(得分:-2)

这将起作用并返回这样的最小指数列表(如果超过1)

[i for i, e in enumerate(list) if e[0] ==  min([d[0] for d in list])]