如何不修改原board的前提下打印其可读格式的另一版本?
实现代码
用嵌套列表推导式即可实现,全程不会修改原board的数值:
def convert_board(board): num_map = {0: ' ', 1: 'X', 2: 'O'} # 遍历原数组生成新数组,不改动原数据 return [[num_map[item] for item in row] for row in board]
调用示例
# 原board board = [[1, 0, 0], [0, 2, 0], [0, 0, 0]] new_board = convert_board(board) print(new_board)
输出结果:
[['X', ' ', ' '], [' ', 'O', ' '], [' ', ' ', ' ']]
说明
- 函数内部通过映射表直接转换每个元素的值,不会对原board执行赋值操作,原board数据保持不变
- 如果只需要打印棋盘不需要返回列表,可以在遍历的时候直接逐行输出,不需要额外存储新列表
内容的提问来源于stack exchange,提问作者suriluo
相关产品推荐
相关产品推荐

