我如何检查表(见下面)的第一个元素是一个数字在Python(使用某种正则表达式):如何检查列表中的元素是否是数字?
temp = ['1', 'abc', 'XYZ', 'test', '1']
非常感谢。
我如何检查表(见下面)的第一个元素是一个数字在Python(使用某种正则表达式):如何检查列表中的元素是否是数字?
temp = ['1', 'abc', 'XYZ', 'test', '1']
非常感谢。
try:
i = int(temp[0])
except ValueError:
print "not an integer\n"
try:
i = float(temp[0])
except ValueError:
print "not a number\n"
如果必须用正则表达式来完成:
import re
re.match('^[-+]?(([0-9]+([.][0-9]*)?)|(([0-9]*[.])?[0-9]+))$', temp[0])
使用正则表达式(因为你问):
>>> import re
>>> if re.match('\d+', temp[0]): print "it's a number!"
否则,只是尝试解析为int和catch例外:
>>> int(temp[0])
当然,如果你想要漂浮物,底片,科学记数法等等,这一切都会(稍微)更复杂。我将把它作为练习提问:)
非常感谢您的帮助。 – DGT 2010-07-12 01:20:22
如果你只是期望一个简单的正数,你可以使用Strings的isDigit方法。
if temp[0].isdigit(): print "It's a number"
如果答案符合您的需求,请随时以绿色勾选它。 :-) – eruciform 2010-07-12 17:43:10
@eruciform:说他在答案旁边票数最多的那个人:) – Stephen 2010-07-14 01:01:42