【发布时间】:2022-01-07 21:54:00
【问题描述】:
我目前正在处理一个 Python 3 项目,该项目涉及对列表列表进行多次迭代,并且我想编写一个跳过此列表列表的特定索引的代码。特定索引存储在单独的列表列表中。我写了一个小列表,grid 和我不想迭代的值,coordinates:
grid = [[0, 0, 1], [0, 1, 0], [1, 0, 0]]
coordinates = [[0, 2], [1, 1], [2, 0]]
基本上,我希望跳过grid 中的每个1(1 只是用来使相应的坐标位置更明显)。
我尝试了以下代码无济于事:
for row in grid:
for value in row:
for coordinate in coordinates:
if coordinate[0] != grid.index(row) and coordinate[1] != row.index(value):
row[value] += 4
print(grid)
预期输出为:[[4, 4, 1], [4, 1, 4], [1, 4, 4]]
执行代码后,我收到了ValueError: 1 is not in list。
我有两个问题:
-
当
coordinates中的每个coordinate包含第0 位和第1 位时,为什么我会收到此错误消息? -
有没有比使用 for 循环更好的方法来解决这个问题?
【问题讨论】:
标签: python list loops iteration