[英]using lambda, filter for extracting values from a dictionary based on list key values
我有这个dictionary_pair
和一个list_value
。 我希望能够使用lambda
,过滤以获取列表为[1,2]
。 我已经尝试了下面的代码,但得到的列表为['ab']
。
dictionary_pair = {'ab': [1, 2], 'cd': [3, 1]}
list_value = ['ab', 'yz']
try:
result = list(filter(lambda x: dictionary_pair[x], list_value))
except KeyError:
pass
我假设你想要这样的东西:
result = [v for k, v in dictionary_pair.items() if k in list_value]
无需使用 lambda,一个简单的列表理解在这里工作。
这只是向您展示如何使用lambda
, map
, filter
。 然而,在这种情况下,首选简单的list-comprehension
list(filter(None, map(lambda x:dictionary_pair.get(x, None) ,list_value)))
#[[1, 2]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.