将元组的iterable转换为每个元素的iterable(Python)

2024-04-25 22:03:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个iterable delta,它生成两个数的元组(dx, dy),我想计算每个数的和。由于delta是在第一次迭代之后释放的,所以下面的方法不起作用。在

x = sum(dx for dx, dy in delta)
y = sum(dy for dx, dy in delta)

有什么想法吗?我想把delta变成dx和{}的两个iterable,但是到目前为止还没有达到任何效果。在


Tags: 方法inforiterable元组deltasum效果
2条回答

使用zip()map()函数对每列应用sum()

x, y = map(sum, zip(*delta))

这应该行了!在

ysum = 0
xsum = 0

for dx, dy in delta:
    xsum += dx
    ysum += dy

发电机的原理是你可以一次用完它,那么为什么不一次性完成所有的数学运算呢?在

相关问题 更多 >