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 でも True であるためです。
これは機能しますが、長いので、理解または1行でそれを行う方法を知りたいですか?