python 划分多维列表的最快方法

python fastest way to divide multi dimensional list

处理优化划分二维列表 a = [[0, 2169, 5454], [1878, 0, 454]] 通过一个整数值,得到一个整数结果: 现在我有一个非常低效的 for 循环 - 我已经阅读了一些关于映射到 int 和使用列表理解的文档,但是很难理解如何让它适用于二维列表

   for row in range(0, len(a)):
      for col in range(0, len(a[row])):
          a[row][col] = int(a[row][col] / 600)

你不需要范围循环,你可以使用列表 comp:

a[:] = [[ele // 600 for ele in sub] for sub in a]

a[:] 将更改原始列表,就像您的代码所做的一样,只是具有列表组合的效率。如果你想要任何真正的进一步显着改进,你应该看看 numpy

import numpy as np

a = np.array(a)

a //=  600

print(a)
[[0 3 9]
 [3 0 0]]