我有一个非常大的浮点列表,我需要转换为字符串列表。我正在寻找一种快速的方法。天真的方法需要太多时间。什么是最好的方法。
答案 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']