For循环中的Python 2D列表

Nic*_*ski 1 python for-loop nested-lists

我已经构建了一个2D列表(我仍然想把它称为数组)来保存有关货币令牌的信息:

Token = [["P",0,.01,"Penny"],["N",0,.05,"Nickel"],["D",0,.10,"Dime"],["Q",0,.25,"Quarter"]]
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此代码读取令牌的值时:

for i in Token:
    print (Token[i][3])
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

TypeError: list indices must be integers or slices, not list
Run Code Online (Sandbox Code Playgroud)

我不确定我是否理解错误,并且在线搜索解决方案并没有太大成功.我们将非常感谢您提供的任何帮助.

如果有帮助,整个项目的代码都在GitHub上.

Aja*_*234 5

您正在使用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])
Run Code Online (Sandbox Code Playgroud)