2

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

4

2 回答 2

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
于 2013-11-06T00:41:47.957 回答
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']

于 2013-11-06T00:39:25.510 回答