我正在尝试遍历包含我的游戏字段(TicTacToe)的列表。此列表如下所示:
['X', '_', '_']
['O', 'X', '_']
['_', 'O', 'X']
我想生成一个包含所有X或O的索引的列表。我的函数看起来像这样:
indicies = []
for x,y in enumerate(self.gameField):
for b,c in enumerate(y):
if c == 'X':
indicies.append((x,b))
这很好,但是我想用列表理解来做同样的事情。我认为这可能会起作用:
indicies = [[(x,b) for b,c in enumerate(y) if c == 'X'] for x,y in enumerate(self.gameField)][0]
但是它没有按预期工作。
教程和StackOverflow不能帮助我理解嵌套列表的列表理解……我想我还不习惯Python的思维方式。
也许有人可以告诉我正确的方法或为我提供一个好的教程。
感谢您的支持!
您的循环的理解版本是
[(x,b) for (x,y) in enumerate(self.gameField)
for (b,c) in enumerate(y) if c=='X']