【发布时间】:2020-04-14 08:42:01
【问题描述】:
假设我有 3 个列表
a = [1.12, 2.23, 3.34]
b = [2.12, 3.23, 4.34]
c = [3.12, 4.23, 5.34]
我的目标是将数字四舍五入到小数点后 1 位。所以我有这个自定义功能:
import math
def round_down(n, decimals=0):
multiplier = 10 ** decimals
return math.floor(n * multiplier) / multiplier
请问对每个对象中的每个元素进行操作的最有效方法是什么?在这个简单的示例中,我可以为 3 个对象中的每一个编写一个循环,例如:
for i in np.range(len(a)):
a[i] = round_down(a[i], decimals=1)
但是,在我的工作中,我还有很多不同长度的列表,我真的不想一一编码。有没有办法遍历对象列表?还是并行处理?
【问题讨论】:
-
你可以使用
map() -
可以使用内置
range时,无需使用np.arange。 -
你最好的选择可能是只使用 NumPy。这些列表都是一维/平面的吗?
标签: python python-3.x