使用字典:
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])
答案 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]