【问题标题】:How can I add y values at the same x values for arrays of differing length in Python?如何在 Python 中为不同长度的数组添加相同 x 值的 y 值?
【发布时间】:2022-07-20 01:08:55
【问题描述】:

我正在尝试在正确的 x 值处将 y 值相加。我将在下面展示一些示例。

一个数组: x = [1, 2, 3, 4, 5] y = [1, 0, 1, 0, 1]

其他数组: x = [2, 3, 4] y = [1, 1, 1]

当我在正确的 x 值处添加 y 值时,我的最终数组将是:

x = [1, 2, 3, 4, 5] 
y = [1, 1, 2, 1, 1]

【问题讨论】:

  • x数组的值是y数组的索引吗?
  • 问题不清楚。
  • 我不明白您希望如何计算总和。更明确地说,“在正确的 x 值处添加 y 值”是什么意思。我的猜测是你想添加列表中相同位置对应的元素。
  • 我可以看到你如何得到 [1, 1, 2, 1, 1] 背后的逻辑,但我错过了 x 数组如何等于 [1, 2, 3, 4, 5]
  • 欢迎来到 Stack Overflow。 “我的最终数组将是”为什么?按照什么逻辑?

标签: python


【解决方案1】:
x1 = [1, 2, 3, 4, 5]
y1 = [1, 0, 1, 0, 1]

x2 = [2, 3, 4]
y2 = [1, 1, 1]

d1 = {x: y for x, y in zip(x1, y1)}
d2 = {x: y for x, y in zip(x2, y2)}

for k, v in d2.items():
    d1[k] = d1.get(k, 0) + v
    
x = list(d1.keys())
y = list(d1.values())

print(x)
# [1, 2, 3, 4, 5]
print(y)
# [1, 1, 2, 1, 1]

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多