【发布时间】:2017-08-01 06:32:32
【问题描述】:
我正在尝试基于文本的国际象棋游戏,目前正在开发一个可以用来计算棋盘位置的系统。这是我目前正在采用的方法的 sn-p:
_file = ('A','B','C','D','E','F','G','H')
A1 = {'File' : _file[0], 'Rank' : _rank[0],
'Color' : color['Dark'], 'Piece' : pieces['None']},
字典 A1 描述了棋盘上的一个正方形,并具有文件的参数和正方形的等级、颜色以及上面的棋子。当前所有值都引用类似于 _file 的元组。这些作品使用相同的系统来描述它们的位置和内容。
我希望能够编写一些代码来更改字典中值的元组索引,使其看起来像这样:
A1 = {'File' : _file[1], 'Rank' : _rank[0],
'Color' : color['Dark'], 'Piece' : pieces['None']},
但是到目前为止,我尝试的所有操作都在 _file[0] 引用的字符串“A”的索引上运行。例如,
print (A1['File'][1])
给我们一个索引超出范围的错误,因为我们真的告诉它:
print (_file[0][1]) # which means this:
print 'A'[1]
当然,单字母字符串在 [1] 处没有索引。
为了简单起见,我最终可能会放弃这种方法并使用整数而不是元组,但如果我能做到这一点,它会更容易阅读(我认为。)有什么方法可以操作嵌套元组的索引?
【问题讨论】:
-
为什么
A1 = {'File' : _file[0], 'Rank' : _rank[0], 'Color' : color['Dark'], 'Piece' : pieces['None']}有'File' : _file[0]而不是'File' : _file -
因为它的文件应该是A,在_file[0]
-
是的,但是你没有嵌套元组。
-
您没有嵌套在字典中的元组。通过索引访问元组元素会得到元素,而不是元组。它不会以某种方式保留索引,这是没有意义的。
-
我不关注。元组 _file 嵌套在字典 A1 中。
标签: python dictionary indexing nested tuples