{k:v for k,v in orig_dict.iteritems() if k in tuple_keys}
观察:
>>> orig_dict = {'key1':'value1', 'key2':'value2', 'keyN':'valueN'}
>>> tuple_keys = ('key2', 'keyN')
>>> {k:v for k,v in orig_dict.iteritems() if k in tuple_keys}
{'keyN': 'valueN', 'key2': 'value2'}
orig_dict = {'key1':'value1', 'key2':'value2', 'keyN':'valueN'}
keys = ('key2', 'keyM')
>>> {k:orig_dict[k] for k in keys if k in orig_dict}
{'key2': 'value2'}
你可以使用字典理解:
观察:
只要理解一下:
或者如果你喜欢功能性的:
更重要的是,pythonic是有争议的,绝对不是pythonic的是使用tuple作为变量名。你知道吗
如果某些键可能不存在,则可以使用viewkeys获得intersection:
对于
python3
,只需使用.keys()
,它返回一个dict\u view对象,而不是python2中的列表。你知道吗如果要为缺少的关键点提供默认值None,还可以使用mapwith听写因此缺少的键将其值设置为“无”。你知道吗
使用词典理解
这将比遍历字典的键并检查该键是否存在于元组中更有效,因为查找dict是O(1)操作,而在元组中搜索则是O(n)操作。你知道吗
或者,您可以使用集合来获取常用键,并将其与dict理解结合起来:
相关问题 更多 >
编程相关推荐