【问题标题】:Multiply all values of multiple tuples within a list (python)将列表中多个元组的所有值相乘(python)
【发布时间】:2016-10-29 18:12:01
【问题描述】:

我有一个包含多个元组的列表,即

my_list = [(1,2,3),(5,2,1),(3,3,3)]

我需要将此列表中每个元组中的值相乘以得到类似:my_list_results = [6,10,27]

我试过了:

import numpy
my_list_results = list(numpy.product(my_list, axis = 1))

但有些值以某种方式返回为负数。该列表非常大(超过 10000 项),所以我不确定 for 循环是否是一个好的解决方案。

有什么建议吗?

【问题讨论】:

  • 不应该将[ 6, 10, 27]作为预期输出吗?
  • @Divakar 是的,正确,很抱歉造成混乱
  • 实际上,tolist() 转换效果很好。我现在正在尝试计算该列表的标准偏差;但是,它太大了,控制台冻结了。你对此有什么建议吗?我正在使用:std = statistics.stdev(my_list_results)
  • 你能提到任何元组,因为它给出了错误的结果

标签: python list numpy multiplication


【解决方案1】:

使用 numpy 我将轴更改为 axis=-1。那应该可以解决负数问题。如果它仍然不起作用,请创建一个可以为您乘以它的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多