【发布时间】:2013-08-13 18:19:17
【问题描述】:
我需要在有序字典中找到其值最低的键,但只有当它在 my_list 中的位置为 True 时。
from collections import OrderedDict
my_list = [True,False,False,True,True,False,False,False,]
my_lookup = OrderedDict([('a', 2), ('b', 9), ('c', 4), ('d', 7),
('e', 3), ('f', 0), ('g', -5), ('h', 9)])
我知道如何使用 for 循环来做到这一点
mins=[]
i=0
for item in my_lookup.items():
if my_list[i]:
mins.append(item)
i+=1
print min(mins,key=lambda x:x[1])[0]
打印
a
因为 a 在 my_list 中也是最低的。
这可行,但它很长,我想知道如何用理解或一行来做到这一点?
【问题讨论】:
标签: python dictionary