找到列表的最小值并从另一个列表中打印相应的索引

时间:2014-03-01 18:32:18

标签: python list selection

说我有一些名单,例如

list1 = [9.2,6.6,3.1,6.9]
list2 = [1,2,3,4]

我想找到list1的最小值并获取该最小值的索引,并使用它来打印list2对应该索引的值。

min(list1)会给我3.1,索引为2,现在我想要print list2[2]

应该注意这些不是我的实际值,它们要复杂得多。我只需要一般的想法。

3 个答案:

答案 0 :(得分:3)

list1, list2 = [9.2,6.6,3.1,6.9], [1,2,3,4]
print list2[min((j,i) for i, j in enumerate(list1))[1]]
# 3

<强>解释

min((j,i) for i, j in enumerate(list1))将给出最小元素及其索引。在这种情况下,它将返回(3.1, 2)。所以我们只取第二个元素,并从list2得到与之对应的元素。

另一种方法是

print min(zip(list1, list2))[1]
# 3

答案 1 :(得分:1)

这应该做

print (list2[list1.index(min(list1))])

长篇:

list1 = [9.2,6.6,3.1,6.9]
list2 = [1,2,3,4]
a = min(list1)
b= list1.index(a)  
print (list2[b])

答案 2 :(得分:0)

可以使用索引来完成:

list2[list1.index(min(list1))]

输出:

3