Python中如何将单个张量列表元素拆分为多个张量元素?
解决方法
你的问题核心是直接用split()没法正确识别张量的嵌套结构——整个内容是合法的Python列表格式,里面的逗号既分隔大列表的两个张量元素,也分隔张量内部的子元素,直接拆分只会破坏原有结构。
正确的处理思路是先把字符串形式的列表解析成Python原生列表对象,再逐个提取张量写入文件:
- 用
ast.literal_eval()安全解析字符串格式的Python数据结构 - 读取原始文件内容并清理多余空白
- 遍历解析后的列表,将每个张量转为字符串后逐行写入目标文件
代码示例:
import ast # 读取原始Game.txt内容 with open("Game.txt", "r") as f: raw_content = f.read().strip() # 把字符串解析为Python列表 tensor_collection = ast.literal_eval(raw_content) # 写入格式化后的文件 with open("Formatted_Game.txt", "w") as output_file: for single_tensor in tensor_collection: output_file.write(f"{single_tensor}\n")
执行后,Formatted_Game.txt的内容会和你期望的一致,每行显示一个完整的张量。
内容的提问来源于stack exchange,提问作者Pitone
相关产品推荐
相关产品推荐

