gpt4 book ai didi

python - 如何遍历嵌套列表以从 1 到 5 对每个列表进行编号 :

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:10 25 4
gpt4 key购买 nike

所以我正在为一项任务制作一个游戏,我需要制作一个函数,该函数接受一个代表游戏板的嵌套列表,并为每行编号从 1 到 5(对于坐标,例如 F4、G3 等) .

例如,表示板的列表如下所示:

board = [['S', 'S', 'X', 'S', 'S'],
['.', '.', '.', '.', '.'],
['.', '.', 'T', '.', '.'],
['.', '.', '.', '.', '.'],
['S', 'S', 'Y', 'S', 'S']]

我需要在每个列表的第一个位置添加一个数字,这样我就会得到如下所示的内容:

board = [[1, 'S', 'S', 'X', 'S', 'S'],
[2, '.', '.', '.', '.', '.'],
[3, '.', '.', 'T', '.', '.'],
[4, '.', '.', '.', '.', '.'],
[5, 'S', 'S', 'Y', 'S', 'S']]

并像这样显示:

1 S S X S S
2 . . . . .
3 . . T . .
4 . . . . .
5 S S Y S S

我目前的做法是这样的:

def display_board(board):
bottomLetters = [" ", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"]
print board
counter = int(0)
for row in board:
counter += int(1)
row.insert(0, counter)
for positon in row:
print positon,
print

这几乎可以工作,但我得到了一个奇怪的输出:

1 S S X S S
2 . . . . .
3 . . T . .
4 2 . . . . .
5 S S Y S S

或者只是游戏板列表本身:

board = [[1, 'S', 'S', 'X', 'S', 'S'],
[4, 2, '.', '.', '.', '.', '.'],
[3, '.', '.', 'T', '.', '.'],
[4, 2, '.', '.', '.', '.', '.'],
[5, 'S', 'S', 'Y', 'S', 'S']]

有人知道为什么会这样吗?

最佳答案

不是真正的答案 - 而是一些建议。

你不需要 int(0) 你可以只使用 0。此外,Python 已经提供了一个内置方法来对序列中的项目进行“编号”,称为 enumerate。另请查看 str.join 方法,使格式化文本更易于打印。

使用上面的代码你可以减少你的代码:

board = [['S', 'S', 'X', 'S', 'S'],
['.', '.', '.', '.', '.'],
['.', '.', 'T', '.', '.'],
['.', '.', '.', '.', '.'],
['S', 'S', 'Y', 'S', 'S']]

def display_board(board):
for rowno, items in enumerate(board, start=1):
print rowno, ' '.join(items)

display_board(board)

这不仅更像 Pythonic,而且更清楚您的意图。

关于python - 如何遍历嵌套列表以从 1 到 5 对每个列表进行编号 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com