簡體   English   中英

迭代python中具有相同索引位置的多個列表

[英]Iterating through multiple lists with same index position in python

我是python的新手,我只是嘗試了一些列表操作。 我有三個清單

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

我想迭代這三個列表,並且CI的每個值都希望將該值的一半添加到A和B的相應值。例如,對於第一次迭代 - half = 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]

只要列表都具有相同的長度,您就可以使用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]
>>> A, B = zip(*((a + c/2, b + c/2) for a, b, c in zip(A, B, C)))

最好使用Numpy陣列。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM