我有一个非常大的浮点列表,我需要将其转换为字符串列表。我正在寻找一种快速的方法来做到这一点。天真的方法需要太多时间。什么是最好的方法来做到这一点。
问问题
791 次
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 回答