python - 使用元组索引列表如何工作?

标签 python list indexing tuples

我正在学习 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/

相关文章:

c# - 如何比较具有多个对象和设置值的两个列表?

mysql - 索引中的列顺序

python - 在索引地理数据框时维护地理结构

mysql - 如何创建具有分类值 ("home"、 "away"的列)以另一个表中的列值为条件

python - 创建组后创建模型django

python - 使用 Python eval 评估类

c - 如何从链表的特定节点中删除和清除内存?

python - 是否可以在不迭代的情况下将列表类型转换为生成器?

python - 从 Tensorboard 上保存的 .pbtxt 文件查看图形

python - 无法将 len (x) 转换为可用于字符串切片的 int?