python2d中的For循环列表

python2d中的For循环列表,python,for-loop,nested-lists,Python,For Loop,Nested Lists,我已经建立了一个2D列表,我仍然希望将其称为一个数组,以保存有关货币代币的信息,例如: Token = [["P",0,.01,"Penny"],["N",0,.05,"Nickel"],["D",0,.10,"Dime"],["Q",0,.25,"Quarter"]] 当我尝试使用以下代码读取令牌的值时: for i in Token: print (Token[i][3]) 我得到一个错误: TypeError: list indices must be integers or

我已经建立了一个2D列表,我仍然希望将其称为一个数组,以保存有关货币代币的信息,例如:

Token = [["P",0,.01,"Penny"],["N",0,.05,"Nickel"],["D",0,.10,"Dime"],["Q",0,.25,"Quarter"]]
当我尝试使用以下代码读取令牌的值时:

for i in Token:
    print (Token[i][3])
我得到一个错误:

TypeError: list indices must be integers or slices, not list
我不确定我是否理解错误,并且在网上搜索解决方案时也没有太大成功。如果您能提供任何帮助,我们将不胜感激


如果有帮助,请为使用for-each循环的。

编码,在Python中,该循环将为您提供列表中的项目,而不是索引。此外,您正在使用一组集合,这是无效的语法。因此,保留一个列表,只使用一个索引:

Token =  [["P",0,.01,"Penny"],["N",0,.05,"Nickel"],["D",0,.10,"Dime"],["Q",0,.25,"Quarter"]]

for i in Token:
   print(i[3])

您使用的是for-each循环,在Python中,它将为您提供列表中的项,而不是索引。此外,您正在使用一组集合,这是无效的语法。因此,保留一个列表,只使用一个索引:

Token =  [["P",0,.01,"Penny"],["N",0,.05,"Nickel"],["D",0,.10,"Dime"],["Q",0,.25,"Quarter"]]

for i in Token:
   print(i[3])

对于通过令牌的每次迭代,您都会得到作为i的项。因此,在您的第一次迭代中:

for i in Token:
i=[p,0.01,便士]

只要做:

for i in Token:
    print i[3]

对于通过令牌的每次迭代,您都会得到作为i的项。因此,在您的第一次迭代中:

for i in Token:
i=[p,0.01,便士]

只要做:

for i in Token:
    print i[3]

无法为集合建立索引…:您的代码抛出TypeError:“set”对象不支持索引。谢谢您指出这一点。正如科丽MADEN所提到的,OP看起来有C++背景,可能使用列表列表。不过,为了清楚起见,我会将答案中的集合转换为列表。是的,我的大括号只是一个打字错误。我是自学成才的VB程序员。。。阿卡,不是真正的程序员!谢谢大家的帮助!无法为集合建立索引…:您的代码抛出TypeError:“set”对象不支持索引。谢谢您指出这一点。正如科丽MADEN所提到的,OP看起来有C++背景,可能使用列表列表。不过,为了清楚起见,我会将答案中的集合转换为列表。是的,我的大括号只是一个打字错误。我是自学成才的VB程序员。。。阿卡,不是真正的程序员!谢谢大家的帮助!