问答详情
源自:5-8 Python二维list

为什么这样会提示TypeError: list indices must be integers or slices, not list,求大佬解答!感谢

area = 1

L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]

for i in L:

    for j in L:

        area *= L[i][j]

    print("第{}个长方形的体积为{}".format(i,area))

    area = 1



提问者:weixin_慕容1556897 2021-09-15 23:29

个回答

  • qq_棠梨煎雪故人来_03907185
    2021-10-13 10:04:22

    你这应该是从c啊之类的语言里面学的习惯吧,当你for i in L的时候,它迭代的不是下标1、2、3,它迭代的是里面的元素,在这句里迭代的是[1,2,3]和后面的两个列表。所以你这句话按机器理解的是area*=L[[1,2,3][5,3,2]],很明显,这是错的。所以这个错误报告给你说list的下标应该是整数或者是划分,不能是个列表。想达到你想要的效果,就for i in range(len(L)吧,但就算是按下标算,你思路也是错的。

  • Swind__
    2021-09-16 14:31:44

    L = ([1, 2, 3], [5, 3, 2], [7, 3, 2])