2024-03-28 21:10:39 发布
网友
下面是简单的代码:
s = ['-1', '2', '+'] print([x.isnumeric() for x in s]) print([x.isdigit() for x in s])
输出为
[False, True, False] [False, True, False]
我的愿望是:
[True, True, False]
这不是一个班轮,但这是工作。你知道吗
def isnum(x): try: float(x) return True except ValueError: return False s = ['-1', '2', '+'] print([isnum(x) for x in s])
还可以使用正则表达式模式匹配负数、正数和十进制数:
>>> import re >>> s = ['-1', '2', '+'] >>> [re.match('^(-|\+)?\d+(.\d+)?', n) is not None for n in s] [True, True, False] >>>
[x.isnumeric() or (x[0] == '-' and x[1:].isnumeric()) for x in s]
这不是一个班轮,但这是工作。你知道吗
还可以使用正则表达式模式匹配负数、正数和十进制数:
相关问题 更多 >
编程相关推荐