Python 从给定列表中出现的键中提取子字典
假设我有一本字典,看起来像这样: {1=>a,2=>b,3=>c,4=>d} 下面是一个列表: [1,2,3] 有没有一个方法会返回一个只包含Python 从给定列表中出现的键中提取子字典,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,假设我有一本字典,看起来像这样: {1=>a,2=>b,3=>c,4=>d} 下面是一个列表: [1,2,3] 有没有一个方法会返回一个只包含 {1=>a,2=>b,3=>c}常规的听写理解可以做到: d = {1: 'a', 2: 'b', 3: 'c', 4: 'd'} keys = [1, 2, 3] dct = {key: d[key] for key in keys} print(dct) # {1: 'a', 2: 'b', 3: 'c'} 有两种方法可以处理原始词典中未包含
{1=>a,2=>b,3=>c}常规的听写理解可以做到:
d = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
keys = [1, 2, 3]
dct = {key: d[key] for key in keys}
print(dct) # {1: 'a', 2: 'b', 3: 'c'}
有两种方法可以处理原始词典中未包含的
键中的键:
keys = [1, 2, 3, 7]
# default value None
dct = {key: d[key] if key in d else None for key in keys}
print(dct) # {1: 'a', 2: 'b', 3: 'c', 7: None}
# ignore the key if it is not in the original dict
dct = {key: d[key] for key in set(keys).intersection(d.keys())}
print(dct) # {1: 'a', 2: 'b', 3: 'c'}
很好。谢谢。时间限制:)你介意快速告诉我检查列表中的密钥是否确实存在的语法吗?@kjanko为此添加了一个更新。