索引值没有更新到我想要的值



我有以下代码。我正在尝试遍历清单2,以找到Value的所有索引。然后,我想为清单2中所有匹配的索引将清单1中的索引设置为0。

List1 = [1, 1, 1, 0, 0, 1, 1, 1]
List2 = [[[3.08125597]], [[1.64528009]], [[1.64528009]], [[5.33474274e+26]], [[5.33474274e+26]], [[1.64528009]], [[1.64528009]], [[3.08125597]]]
Value = [[1.64528009]]
print(List1)
for m in range(len(List2)):
if List2[m] == Value[0]:
List1[m] = 0
print(List1)

输出

[1, 1, 1, 0, 0, 1, 1, 1]
[1, 1, 1, 0, 0, 1, 1, 1]

在清单1中,索引1、2、5、6应全部更新为零。我在这里做错了什么?

List2中的每一项看起来都是它自己的列表列表(Value也是如此(。你需要减少括号,例如

List1 = [1, 1, 1, 0, 0, 1, 1, 1]
List2 = [3.08125597, 1.64528009, 1.64528009, 5.33474274e+26, 5.33474274e+26, 1.64528009, 1.64528009, 3.08125597]
Value = 1.64528009
print(List1)
for m in range(len(List2)):
if List2[m] == Value:
List1[m] = 0
print(List1)

或者添加一些额外的索引,例如

List1 = [1, 1, 1, 0, 0, 1, 1, 1]
List2 = [[[3.08125597]], [[1.64528009]], [[1.64528009]], [[5.33474274e+26]], [[5.33474274e+26]], [[1.64528009]], [[1.64528009]], [[3.08125597]]]
Value = [[1.64528009]]
print(List1)
for m in range(len(List2)):
if List2[m][0][0] == Value[0][0]:
List1[m] = 0
print(List1)

相关内容

最新更新