逐元素添加两个元组

2023-08-31Python开发问题
1

本文介绍了逐元素添加两个元组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我只是想知道是否有一种特别的 Pythonic 方法可以按元素添加两个元组?

I was just wondering if there was an especially pythonic way of adding two tuples elementwise?

到目前为止(a 和 b 是元组),我有

So far (a and b are tuples), I have

map(sum, zip(a, b))

我的预期输出是:

(a[0] + b[0], a[1] + b[1], ...)

可能的称重是给 a 0.5 的重量和 b 0.5 的重量,等等.(我正在尝试采用加权平均值).

And a possible weighing would be to give a 0.5 weight and b 0.5 weight, or so on. (I'm trying to take a weighted average).

这很好用,但是说我想添加权重,我不太确定该怎么做.

Which works fine, but say I wanted to add a weighting, I'm not quite sure how I would do that.

谢谢

推荐答案

压缩它们,然后对每个元组求和.

Zip them, then sum each tuple.

[sum(x) for x in zip(a,b)]

这是一个更好但更复杂的版本,它允许加权.

EDIT : Here's a better, albeit more complex version that allows for weighting.

from itertools import starmap, islice, izip

a = [1, 2, 3]
b = [3, 4, 5]
w = [0.5, 1.5] # weights => a*0.5 + b*1.5

products = [m for m in starmap(lambda i,j:i*j, [y for x in zip(a,b) for y in zip(x,w)])]

sums = [sum(x) for x in izip(*[islice(products, i, None, 2) for i in range(2)])]

print sums # should be [5.0, 7.0, 9.0]

这篇关于逐元素添加两个元组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10