gpt4 book ai didi

python - 当第一列匹配时,用较小数组第二列的新值替换数组第二列中的元素

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:28 25 4
gpt4 key购买 nike

我有两个二维数组,例如,

A = [[1,0],[2,0],[3,0],[4,0]]

B = [[2,0.3],[4,0.1]]

虽然数组要大得多,A 的大小大约是 B 的 10 倍,A 中大约有 100,000 行。只要行的第一个元素匹配,我就想用 B 中的行替换 A 中的行,并保留A中的其他行不变。在上面的例子中,我想结束:

[[1,0],[2,0.3],[3,0],[4,0.1]]

我该怎么做,最好是高效?

最佳答案

在任何情况下,我们都必须遍历整个数组 A 一次,因为我们正在转换它。但是,如果 A 的特定第一个元素存在于 B 中,我们可以加快查找速度。为此,从 B 中创建一个字典会很有效。这样,查找将是常数时间。我在这里假设 A 的第一个元素只匹配 B 的一个元素。

可以这样将 B 转换为字典:

transformed_B = { item[0]: item[1] for item in B}

然后可以用以下方法替换 A 中的元素:

transformed_A = [[item[0], transformed_B[item[0]]] if item[0] in transformed_B else item for item in A]

关于python - 当第一列匹配时,用较小数组第二列的新值替换数组第二列中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com