Python中如何将2D array转换为嵌套list并按格式输出
解决方法
你的变量z本身已经是嵌套列表结构了,当前代码的问题是通过两层循环逐个打印每个元素,所以输出是零散的数值序列。要得到你想要的[[10.0, 11.0, ...], [...], ...]格式,只需要直接打印整个z即可。
修改后的代码
import numpy as np z=[[0 for x in range(0,11)] for y in range(0,11)] for y in range (0,11): x=0 z[x][y]=((20-10)/10.0*y+10) for y in range (0,11): x=10 z[x][y]=((60-20)/10.0*y+20) # 优化:去掉不必要的np.asarray转换,直接用数值计算 for y in range (0,11): for x in range (1, 11): z[x][y] = ((z[10][y] - z[0][y])/10.0) + z[x-1][y] # 直接打印整个嵌套列表 print(z) # 可选:如果需要更美观的格式化输出,使用pprint模块 # import pprint # pprint.pprint(z)
说明
- 原代码中
np.asarray的转换是多余的,z中的元素都是普通数值,直接进行算术运算即可,去掉后代码更简洁高效。 - 替换掉最后两层逐个打印元素的循环,改为直接打印
z,就能输出标准的嵌套列表格式。
内容的提问来源于stack exchange,提问作者Lim Cheng Wei
相关产品推荐
相关产品推荐

