我有两个列表,分别是下面的z和w:
z = [323, 493, 245, 542, 352, 463, 352]
w = [300, -9999, 4343, 320, -9999, -9999, -9999]
现在,我需要通过将所有 -9999 替换为相应的 z 值来更新 w 的值。如果我要打印 w,值将是
w = [300, 493, 4343, 320, 352, 463, 352]
这是我对代码的理解:
w[w == -9999] = z
但是我明白了
w = [[300, 493, 4343, 320, 352, 463, 352], -9999, 4343, 320, -9999, -9999, -9999]
请您参考如下方法:
z = [323, 493, 245, 542, 352, 463, 352]
w = [300, -9999, 4343, 320, -9999, -9999, -9999]
for index,value in enumerate(w):
if value == -9999:
w[index] = z[index]
输出
[300, 493, 4343, 320, 352, 463, 352]
同样的想法可以应用于列表理解
>>> [z[index] if value == -9999 else w[index] for index, value in enumerate(w)]
[300, 493, 4343, 320, 352, 463, 352]
