快速转换为巨大的浮动列表到字符串列表的方法

时间:2013-11-06 00:37:44

标签: python python-2.7

我有一个非常大的浮点列表,我需要转换为字符串列表。我正在寻找一种快速的方法。天真的方法需要太多时间。什么是最好的方法。

2 个答案:

答案 0 :(得分:2)

import time
def main():
    d = [1.0]*10**7
    st = time.time()
    e = map(str, d)
    print time.time() - st

>>> main()
3.4690001010

太多了?如果没有建立清单:

from itertools import imap
def main():
     d = [1.0]*10**7
     id = iter(d)
     st = time.time()
     e = imap(str,id)
     for l in e:
         pass
     print time.time() - st

>>> main()
1.38447939781

答案 1 :(得分:0)

您可以使用地图功能。 map函数将函数应用于列表的每个成员并返回一个新列表。

list_Of_Floats = [4.32, 5.12, 5.623]

list_Of_String_Floats = map(str, list_Of_Floats)

print list_Of_String_Floats

# same thing with a comprehension 
list_Of_String_Floats = [str(x) for x in list_Of_Floats]

输出: ['4.32', '5.12', '5.623']