为何用Python random.randint生成的邻接表大输入时无法查看完整随机数?
解决邻接表输出被截断的问题
方法1:用pprint模块优化打印
导入pprint模块替代普通print,它能更友好地展示复杂列表结构,默认支持显示更多内容,还可通过参数调整显示宽度:import random import pprint # 示例邻接表生成代码 adjacency_list = [[random.randint(0, 10) for _ in range(5)] for _ in range(10)] pprint.pprint(adjacency_list, width=120) # width参数可避免过多换行方法2:修改Python打印显示限制
针对普通列表,可通过sys模块调整打印长度限制;如果用numpy存储邻接表,直接修改numpy的打印选项:
普通列表方案:import sys import random sys.setrecursionlimit(10000) # 可选,防止递归打印报错 sys.maxsize = 1000000 # 扩大打印长度限制 adjacency_list = [[random.randint(0, 10) for _ in range(5)] for _ in range(10)] print(adjacency_list)numpy数组方案:
import numpy as np import random np.set_printoptions(threshold=np.inf) # 设置为无限阈值,显示全部内容 adjacency_array = np.random.randint(0, 10, size=(10,5)) print(adjacency_array)方法3:将内容写入文件保存
若邻接表规模很大,打印到控制台不便,可直接写入本地文件,之后打开文件查看完整内容:import random adjacency_list = [[random.randint(0, 10) for _ in range(5)] for _ in range(10)] with open("adjacency_list.txt", "w", encoding="utf-8") as f: f.write(str(adjacency_list))
内容的提问来源于stack exchange,提问作者pri
相关产品推荐
相关产品推荐

