首页 > 技术文章 > 把一行数字(readline)读进List并以科学计数法输出(write)到文件

anloveslife 2017-10-20 00:38 原文

主要过程是读取的时候是一行字符串,需要Strip去除空格等,然后split变成一个List。

注意这时候数据结构是List但是每一个元素是Str性质的。

所以需要map(float,List)  把这个List变成一个新的List,里面每一个元素是Float类型的

然后write函数只能接受一个元素。而且必须是str类型的

这时候先用.join函数把List拆分合并成一行字符串

合并的过程中,对新的List用map函数对每一个Float元素进行科学计数法的转换,用到Format函数

 

总结一下就是   str-List(str)-List(float)-str

r=[6,6,9,8]
infile=open('in.txt')
l=infile.readline().strip().split()
print(l)
outfile=open('out.dat','w')
for iterm in r:
    print('%.5e'% iterm)
floatl=map(float,l)
outfile.write('\t'.join(map('{:.5e}'.format,map(float,l))))

 

推荐阅读