python – 如何在第一个值相同的列表中对元组求和?

我有一个股票和头寸列表作为元组.买入为正,卖出为负.例:

p = [('AAPL', 50), ('AAPL', -50), ('RY', 100), ('RY', -43)]

我如何总结股票的头寸,以获得当前的持股?

result = [('AAPL', 0), ('RY', 57)]
这个怎么样?你可以阅读约collections.defaultdict.

>>> from collections import defaultdict
>>> testDict = defaultdict(int)
>>> p = [('AAPL', 50), ('AAPL', -50), ('RY', 100), ('RY', -43)]
>>> for key, val in p:
        testDict[key] += val


>>> testDict.items()
[('AAPL', 0), ('RY', 57)]
翻译自:https://stackoverflow.com/questions/18194712/how-do-i-sum-tuples-in-a-list-where-the-first-value-is-the-same

转载注明原文:python – 如何在第一个值相同的列表中对元组求和?