查找符合条件的字典中的所有元素

时间:2016-02-19 17:30:17

标签: python-2.7 dictionary

假设我有一本字典

d = {'foo':10,'bar':12,'asd':4}

我想找到所有具有小于或等于10的对应值的键,以及它们在字典中的位置。所以预期的输出是

{'foo','asd'}用于键,[1 3]用于位置

我如何在Python中执行此操作?

3 个答案:

答案 0 :(得分:0)

使用iteritems()

遍历字典
d={'foo': 10,'bar': 12,'asd': 4}

for _,v in d.iteritems():
    if v<=10: print v

答案 1 :(得分:0)

与@ Chitoge的解决方案几乎相同,

但是为了匹配您的预期输出,这是我的解决方案

d={'foo': 10,'bar': 12,'asd': 4}
key_list = []
key_index = []
for k,v in d.iteritems():
    if v<=10: 
        key_list.append(k)
        key_index.append(d.keys().index(k) + 1)

print key_list
print key_index

答案 2 :(得分:0)

>>> d = {'foo' : 10 , 'bar' : 12 , 'asd' : 4}
>>> [k for k,v in d.iteritems() if v <=10]
['foo', 'asd']

由于未订购字典,因此每次都会更改位置。