python - 列表索引必须不是列表

标签 python list for-loop typeerror

pole[i][j] == 1时我需要采取行动,但它会抛出错误:

TypeError: list indices must be integers or slices, not list

pole = [[0,1,0],
        [1,0,1],
        [0,1,1]]
for i in pole:
    for j in pole:
        if pole[i][j] == 1:
            my_code()

最佳答案

您使用 for i in pole 获取 pole 的实际值而不是索引。这是更正后的代码:

pole = [[0,1,0],
        [1,0,1],
        [0,1,1]]
for i in range(len(pole)):
    for j in range(len(pole[i])):
        if pole[i][j] == 1:
            my_code()

或者,您可以使用值而不是索引:

pole = [[0,1,0],
        [1,0,1],
        [0,1,1]]
for i in pole:
    for j in i:
        if j == 1:
            my_code()

关于python - 列表索引必须不是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70382639/

相关文章:

python - 绘制一个数组以及多个 pandas 列

c# - 输出类的存储值列表

c# - 列表中的重复项

python - 如何在Python中循环嵌套(二维?)数组

python - 如何在 Python 中按字符对字符串进行切片?

python - Django 查询具有唯一字段的项目

python - 一一列举验证

javascript - 查看数组(A)中的每个项目并检查它是否已存在于另一个数组(B)中

Bash for 循环在一次迭代后停止而没有错误

python - 将 lxml 安装到 virtualenv