我正在创建棋盘的字典表示形式,其中键是代表位置的坐标对,而值是代表棋子类型的字符串。例如:
playerPieces = { (0,0):'R', (1,0):'S', (2,0):'B', (3,0):'Q' ... }
两位玩家都有一部这样的词典。我的问题在于尝试遍历球员的所有作品。我尝试了三种不同的方法,但似乎都不起作用。
如果我尝试将字典拆成键,则值对如下所示:
for position, piece in playerPieces:
相反,
position
和piece
分别解压缩密钥对的第一和第二个元素(因此对于通过playerPieces
的第一次迭代,我会得到position == 0
和piece == 0
。不是很有帮助。如果相反,我尝试以下操作:
for (col, row), piece in playerPieces:
我收到错误
TypeError: 'int' object is not iterable
,我目前不了解。最后,如果我删除了列的括号,则行对如下所示:
for col, row, piece in playerPieces:
我当然会收到错误
ValueError: need more than 2 values to unpack
。那么,还有什么其他选择?能做到吗?第二种选择对我来说似乎是最有可能的选择,因此我想象理解TypeError是弄清楚发生了什么的关键,但我有点茫然。
最佳答案
您需要遍历字典中的项目:
for (col, row), piece in d.items():
print(col, row, piece)
遍历
dict
只会遍历其键。关于python - 如何遍历键为对的字典?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42860463/