解析由python中的空格隔開的浮點數列表的最佳理由是什麼?用於解析python中浮點數列表的正則表達式
我有這樣的行將從源出來:
string = " 4 1.6 8.29 0 0 3.55e-15 -1.28e-13 "
與未知數量的空格分開的數字和字符串的beggining或結束。
我通常只是在使用numbers = map(float, string.split(" "))
時,我可以保證數字之間只有一個空格,並且字符串的開頭或結尾不會有空格。我並不擅長正則表達式,但有人建議我使用re.split("\s+", string)
,但這樣做不起作用,因爲有時我在結果列表的開始處得到空字符串。
我現在在使用:re.split("\s+")
但這不起作用,因爲有時我在結果列表的開始處得到空字符串。
我現在使用:
res = map(float, re.findall("\d+\S*\d*", string)
這正莫名其妙,但看起來脆弱和醜陋的我。它可以匹配許多不能產生數字的字符串。
什麼是最好的正則表達式模式,將總是匹配整數和浮點數有或沒有指數表示法,以便我可以使用re.findall(patt, string)
並安全地恢復數字列表?