Skip to main content
 首页 » 编程设计

python之展开字典的快捷方式

2025年05月04日15think

比如说,我有一个数据字典和它们的变量名,例如

dct = {'a': 1, 'b': 2, 'c':3} 

我想检索与键子集关联的值。如何在不编写太多代码的情况下做到这一点,即一个一个地提取变量?有没有类似的东西

a, c = dct['a','c'] 

请您参考如下方法:

您可以为此使用生成器表达式:

>>> d = {'a':1,'b':2,'c':3} 
>>> a, c = (d[key] for key in ['a', 'c']) 
>>> a 
1 
>>> c 
3 

如果你这样做的次数足够多,值得用一个函数来包装,那是微不足道的:

>>> def multiget(mapping, *keys): 
...     return (d[key] for key in keys) 
>>> a, c = multiget(d, 'a', 'c') 

但是,如果仔细观察,您会发现 multiget 只是 operator.itemgetter uncurried,使用它通常要简单得多:

>>> a, c = operator.itemgetter('a', 'c')(d)