小编use*_*667的帖子

在OrderedDict中查找具有最小值的键

我需要找到其值在有序字典中最低的键,但只有当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)])
Run Code Online (Sandbox Code Playgroud)

我知道怎么用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]
Run Code Online (Sandbox Code Playgroud)

版画

a
Run Code Online (Sandbox Code Playgroud)

因为a在my_list中最低也是True.

这有效,但很长,我想知道如何用理解或一行做到这一点?

python dictionary

6
推荐指数
1
解决办法
1098
查看次数

标签 统计

dictionary ×1

python ×1