Python如何将字典列表内的单词替换二维矩阵(网格)中的#字符
解决方案
注意事项
你原有生成网格的代码得到的是字符串列表,并非嵌套字符列表,如果需要初始化嵌套列表格式的网格,建议把初始化代码改为:
grids = [list("#" * grid_size) for _ in range(grid_size)]
实现代码
方法1:直接生成新网格(最简便)
直接从单词列表提取指定数量的单词,转换为嵌套字符列表即可:
# 提取和网格行数等量的单词,这里示例取最后grid_size个,可按需调整取值范围 selected_words = [item["word"] for item in all_words[-grid_size:]] # 生成替换后的网格 new_grids = [list(word) for word in selected_words]
方法2:修改原有网格
如果你需要基于已有的grids对象做修改,不新建列表:
selected_words = [item["word"] for item in all_words[-grid_size:]] for row_idx in range(grid_size): # 逐行替换字符 for col_idx in range(grid_size): grids[row_idx][col_idx] = selected_words[row_idx][col_idx]
效果验证
当selected_words为['ZONA','ZONE','ZOUK','ZOZO']时,输出结果完全符合预期:
[['Z', 'O', 'N', 'A'], ['Z', 'O', 'N', 'E'], ['Z', 'O', 'U', 'K'], ['Z', 'O', 'Z', 'O']]
内容的提问来源于stack exchange,提问作者bientavu
相关产品推荐
相关产品推荐

