gpt4 book ai didi

python - 检查字符串是否可以在 Python 中转换为 float

转载 作者:IT老高 更新时间:2023-10-28 12:25:02 25 4
gpt4 key购买 nike

我有一些 Python 代码可以遍历字符串列表,并尽可能将它们转换为整数或 float 。对整数执行此操作非常简单

if element.isdigit():
newelement = int(element)

float 更难。现在我正在使用 partition('.') 来拆分字符串并检查以确保一侧或两侧都是数字。

partition = element.partition('.')
if (partition[0].isdigit() and partition[1] == '.' and partition[2].isdigit())
or (partition[0] == '' and partition[1] == '.' and partition[2].isdigit())
or (partition[0].isdigit() and partition[1] == '.' and partition[2] == ''):
newelement = float(element)

这行得通,但显然 if 语句有点熊。我考虑的另一个解决方案是将转换包装在 try/catch block 中并查看它是否成功,如 this question 中所述。 .

有人有其他想法吗?对分区和 try/catch 方法的优缺点有何看法?

最佳答案

我会用..

try:
float(element)
except ValueError:
print "Not a float"

..它很简单,而且很有效。请注意,如果元素是例如它仍然会抛出溢出错误。 1<<1024.

另一种选择是正则表达式:

import re
if re.match(r'^-?\d+(?:\.\d+)$', element) is None:
print "Not float"

关于python - 检查字符串是否可以在 Python 中转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com