如何获取将其键作为列表的字典值

时间:2014-08-20 05:32:23

标签: python

使用字典:

dictionary={1:'One', 2:'Two', 3:'Three', 4:'Four', 5:'Five'}

以及已知密钥列表:

keys=[2, 4]

检索字典值的最快最简短的方法是什么?

目标是替换此代码:

result=[]
for key in dictionary:
    if not key in keys: continue
    result.append(dictionary[key])

5 个答案:

答案 0 :(得分:4)

使用列表表达式检查密钥存在

result=[dictionary[k] for k in keys if k in dictionary]

答案 1 :(得分:3)

使用列表理解:

[dictionary[k] for k in keys]

答案 2 :(得分:2)

print [dictionary[k] for k in dictionary.keys() if k in keys]

答案 3 :(得分:1)

试试这个,

dictionary={1:'One', 2:'Two', 3:'Three', 4:'Four', 5:'Five'}
result = [dictionary[i] for i in dictionary.keys()]
print result

Output:
['One', 'Two', 'Three', 'Four', 'Five']

答案 4 :(得分:0)

已编辑您可以使用此

   result = map(lambda x:x[1],dictionary.items())

实施例

   dictionary = {'x': 1, 'y': 2, 'z': 3} 
   dictionary.items()
   >>[('y', 2), ('x', 1), ('z', 3)]

   result = map(lambda x:x[1],dictionary.items())
   print result 
   >>[2, 1, 3]