当前位置: 首页 > 面试题库 >

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

施阎宝
2023-03-14
问题内容

我有作为元组的股票和持仓清单。买入为正,卖出为负。例:

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)]


 类似资料:
  • 问题内容: 我有一个像这样的元组列表(总是成对出现): 我想找到每对中第一项的总和,即: 如何在Python中执行此操作?目前,我正在遍历列表: 我觉得必须有一种更Python化的方式。 问题答案: 与Python 2.3兼容的版本是 或在最新版本的Python中,请参见此答案。 也会做。

  • 本文向大家介绍Python用相同的第一个值对列表中的元组进行分组,包括了Python用相同的第一个值对列表中的元组进行分组的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序,以相同的第一个元素将所有元组分组。让我们看一个例子来清楚地理解它。 输入项 输出结果 让我们看看解决问题的步骤。 初始化列表。 初始化一个空字典。 遍历元组列表。 检查元组的第一个元素是否在字典中作为键存

  • 问题内容: 我有以下列表,其中包含必须具有值的元组: 有没有一种方法可以对所有共享相同名称的值求和?就像是: 我尝试使用for循环迭代元组,但无法获得我想要的。 谢谢 问题答案: 您可以使用(按每个元组的第二个值排序之后)创建组。然后,对于每个组,对每个元组中的第一个元素求和,然后在列表推导中为每个组创建一个元组。

  • 问题内容: 我有一个像下面这样的列表,其中第一个元素是id,另一个是字符串: 我只想从此元组列表创建ID列表,如下所示: 我将使用此列表,因此它必须是整数值的列表。 问题答案:

  • null 在Java8流中如何做到这一点? 我开始把它们放进桶里(见下文),但不确定从这里去哪里:

  • 我试图在一系列列表中添加第一个值,然后从一系列列表中添加第二个值,依此类推。 例如: 因此,我希望 180, 210,240, 270, 300 到目前为止,我的代码是: