Skip to main content
 首页 » 编程设计

python之使用 python map 将列表中的所有 float 替换为 str 类型的圆形 float

2025年05月04日31傻小

我有一个函数,它接受一个 float 列表并返回相同的 float 列表,除了它们在小数点后恰好有 4 位数字,作为字符串

目前很简单

for i in range(len(floats)): 
   floats[i] = "%.4f" %floats[i] 

哪个工作。

但是我可以使用 map 函数来做到这一点吗(因为 http://wiki.python.org/moin/PythonSpeed/PerformanceTips 说使用 map 更快)

我调用此函数数千次,从配置文件结果来看,它是占用更多时间的函数之一。

请您参考如下方法:

map 仅当您使用内置函数时才会更快(或者至少当我读到它时是这样;))。不过,您可以使用列表理解:

pattern = "%.4f" 
floats = [pattern % i for i in floats] 

请注意,map 和列表理解将创建一个新列表,而 for 循环不会。这可能是相关的。

根据您的应用程序的其余部分,如果可能,您应该在将数字添加到列表时格式化它们。