如果给出一个简单的例子:
k = ['a', 'b', 'c', 'd']
l = [20, 50, 1, 100]
如何在一行中写入最简单的代码来获取列表k中与列表l的最大数量位置相对应的项目?
k[max(l)]
完全不知道......
答案 0 :(得分:2)
可以找到第一次出现的最高数字,如 -
ans = k[l.index(max(l))]
答案 1 :(得分:2)
from operator import itemgetter
max(zip(k, l),key=itemgetter(1))[0]
或者使用python 2:
from itertools import izip
max(izip(k, l),key=itemgetter(1))[0]
如果l
使用zip更长时间,您将获得相应长度的最大值。
答案 2 :(得分:0)
>>> k = ['a', 'b', 'c', 'd']
>>> l = [20, 50, 1, 100]
>>> k[l.index(max(l))]
'd'