试图想出一个单线来实现以下目标(对一个键的所有值求和):
>>> data = [('a',1),('b',3),('a',4),('c',9),('b',1),('d',3)]
>>> res = {}
>>> for tup in data:
... res[tup[0]] = res.setdefault(tup[0],0) + tup[1]
...
>>> res
{'a': 5, 'c': 9, 'b': 4, 'd': 3}
单行版本,不使用任何导入,如 itertools、collections 等。
{ tup[0] : SELF_REFERENCE.setdefault(tup[0],0) + tup[1] for tup in data }
在 Python 中是否可以使用对当前正在理解的对象的引用?如果没有,是否有任何方法可以在不使用任何导入的情况下以单行方式实现这一点,即使用基本的列表/字典理解和内置函数。