将字符串更改为在列表中浮动

2024-05-16 01:45:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在文件中找到“elevation”并将字符串更改为float,例如,我使用正则表达式查找“13804 feet”,并希望更改为[13804.0,“feet”],如果有“Sea level”,则应更改为[0.0,”]。我编写了以下函数,它适用于“13804英尺”的情况,但不适用于“海平面”

import locale
def elevationToFloat(x):
    elevation = []
    reNum = re.compile(r"""(?P<number>[-,0-9]+)\s+(?P<suffix>[a-zA-Z]+)?""")
    new = reNum.findall(x)
    for i in new:
        temp = i[0].replace(",", "")
        elevation.append(float(temp))
        elevation.append(i[1])
    return elevation

print elevationToFloat("-70,222 feet")  (it gives me [-70222.0, 'feet'])
print elevationToFloat("Sea level")     (does not work)

事实上,我尝试了很长一段时间的“海平面”的情况(这是太混乱,所以我想我不会张贴错误的代码),但它不起作用。有人能帮我改进代码吗


Tags: 文件代码new情况floatleveltempprint