说我有一个字符串:
s = '''1 2 3
4 5 6
7 8 9
'''
我想将字符串s
的每一行转换为浮点值列表,即:
l = [[1.0 2.0 3.0], [4.0 5.0 6.0], [7.0 8.0 9.0]]
我怎么能在一行中做到这一点?
答案 0 :(得分:8)
[[float(v) for v in l.split()] for l in s.strip().split('\n')]
答案 1 :(得分:4)
s = '''1 2 3
4 5 6
7 8 9'''
l = [ map( float, i.strip().split(" ") ) for i in s.split( "\n" ) ]
如果没有“松散”空格,则不需要注意strip
。
Strip工作为trim
例如。在PHP中。
答案 2 :(得分:2)
首先遍历行,然后遍历字符串并将字符串转换为浮点数。如果您希望将转化为整数,请将float
更改为int
。
[[float(x) for x in line.split(' ')] for line in s.split('\n')]