在Python中按相同索引遍历多个列表

4 投票
3 回答
2180 浏览
提问于 2025-04-17 23:13

我刚开始学习Python,正在尝试一些列表操作。我有三个列表

A = [10,20,30,40,50,60]
B = [22,44,66,88,12,10]
C = [2,4,6,8,10,20]

我想遍历这三个列表,对于每个C的值,我想把这个值的一半加到对应的A和B的值上。
比如在第一次循环中 -
一半的值 = 2/2 = 1
所以A = 10 + 1,B = 22 + 1。
最终的列表应该看起来像这样

A = [11,22,33,44,55,70]
B = [23,46,69,92,17,20]
C = [2,4,6,8,10,20]

3 个回答

0

最好使用 Numpy 数组。

import numpy as np
A, B, C = map(np.array, [A, B, C])
A, B = A - C/2, B - C/2
1

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用一个叫做“库”的东西时,发现它的某些功能不太好用,或者出现了错误。这种时候,大家通常会去一个叫做StackOverflow的网站上寻求帮助。

在这个网站上,很多程序员会分享他们遇到的问题和解决方案。比如,有人可能会问:“我在使用这个库的时候,为什么会出现这个错误?”然后,其他人就会根据自己的经验来回答,告诉他可能的原因和解决办法。

总之,StackOverflow是一个很好的地方,可以让程序员互相帮助,解决在编程过程中遇到的各种问题。

>>> A, B = zip(*((a + c/2, b + c/2) for a, b, c in zip(A, B, C)))
6

只要这些列表的长度都一样,你就可以使用 enumerate() 函数来遍历它们:

for i, n in enumerate(C):
    A[i] += n/2
    B[i] += n/2

>>> A
[11, 22, 33, 44, 55, 70]
>>> B
[23, 46, 69, 92, 17, 20]

撰写回答