处理优化划分二维列表 a = [[0,2169,5454],[1878,0,454]] 通过整数值,以获得整数结果: 现在我的循环效率非常低 - 我已经阅读了一些关于映射到int和使用列表理解的文档,但是很难理解如何使它适用于二维列表
for row in range(0, len(a)):
for col in range(0, len(a[row])):
a[row][col] = int(a[row][col] / 600)
答案 0 :(得分:2)
您不需要范围循环,您可以使用列表comp:
a[:] = [[ele // 600 for ele in sub] for sub in a]
a[:]
将改变原始列表,就像您的代码正在使用list comp的效率一样。如果您想要进一步显着改进,请查看numpy。
import numpy as np
a = np.array(a)
a //= 600
print(a)
[[0 3 9]
[3 0 0]]