Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;列表索引必须是整数,而不是“列表”;在访问列表的元素时_Python_List_Syntax Error - Fatal编程技术网

Python &引用;列表索引必须是整数,而不是“列表”;在访问列表的元素时

Python &引用;列表索引必须是整数,而不是“列表”;在访问列表的元素时,python,list,syntax-error,Python,List,Syntax Error,这是我的代码行 v_recorrido= [[4, 45], [4, 15], [4, 45]] t=0 for i in v_recorrido: seg = 60*v_recorrido[i][0] + v_recorrido[i][1] 您正在向我抛出以下错误: TypeError:列表索引必须是整数,而不是列表 为什么??我不熟悉Python(主要来自C++),但我已经检查了文档中的语法,它似乎是正确的。Python for循环在其

这是我的代码行

    v_recorrido= [[4, 45], [4, 15], [4, 45]]      

    t=0
    for i in v_recorrido:
        seg = 60*v_recorrido[i][0] + v_recorrido[i][1]
您正在向我抛出以下错误:

TypeError:列表索引必须是整数,而不是列表


为什么??我不熟悉Python(主要来自C++),但我已经检查了文档中的语法,它似乎是正确的。

Python for循环在其他一些语言中被描述为“for each”循环。也就是说,每次迭代中的
i
不是索引,而是
v_recorrido
中的实际元素。因此:

seg = 60*i[0] + i[1]
这在某些语言中称为for-each循环,这意味着迭代变量接受每个元素的值,而不是元素的索引。错误是因为您试图使用其元素为
v_recorrido
下标

将其更改为:

for i in v_recorrido:
    seg = 60*i[0] + i[1]

在您的示例中,i实际上是一个列表项。在第一次迭代中,它等于[4,45],然后等于[4,15],最后等于[4,45]

您可能希望在等于v_recorrido长度的范围内进行迭代。比如:

for i in range(len(v_recorrido)):
  ....

您是否查找了语句的
?还是去看电影?这种行为已经被非常彻底地记录下来了。把这个问题的确切标题放到谷歌搜索中,而不是SO的“提问”框也会很有用。
for i in range(len(v_recorrido)):
  ....