我正在学习 Python 并遇到了这个例子:
W = ((0,1,2),(3,4,5),(0,4,8),(2,4,6))
b = ['a','b','c','d','e','f','g','h','i']
for row in W:
print b[row[0]], b[row[1]], b[row[2]]
打印:
a b c
d e f
我是我
c e g
我想弄清楚为什么!
例如,我第一次通过扩展版本得到的是:
print b[(0,1,2)[0]], b[(0,1,2)[1]], b[(0,1,2)[2]]
但我不明白 (0,1,2) 是如何相互作用的。任何人都可以提供解释吗?谢谢。
(这是一个井字游戏的一些代码的缩写版本,它运行良好,我只是不明白这部分)
最佳答案
它迭代元组的元组,每个 row
是一个三元素元组,打印时它通过索引访问 b
列表的三个元素,这就是行
元组包含。
可能,一种稍微不那么困惑的方法是:
for f, s, t in W:
print b[f], b[s], b[t]
关于python - 使用元组索引列表如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1614613/