Форум сайта python.su
0
Приветствую!
У меня есть список и такие значения
["215", "string", "22", "John"]
"215" -> int() -> isinstance(int(num), int) -> True
"John" -> int() -> [b]Error[/b]
Отредактировано Archie (Июль 10, 2012 22:15:22)
Офлайн
20
>>> def is_num(candidate): ... try: ... float(candidate) ... return True ... except ValueError: ... return False ... >>> map(is_num,['0x20','-1.02','0xJohn','foo']) [False, True, False, False]
>>> "42".isdigit() True >>> "John".isdigit() False >>> "-2".isdigit() False >>> "0x2".isdigit() False
Отредактировано EBFE (Июль 10, 2012 20:44:37)
Офлайн
173
Archie, список не видно, оберните в
[code python][/code]
EBFEbool ни к чему, нужно просто ловить ValueError, иначе возможно такое:
return bool(float(candidate))
In [1]: bool(float('0.0')) Out[1]: False
Офлайн
20
reclosedevСпасибо - все верно. Решил сэкономить строку
bool ни к чему, нужно просто ловить ValueError


Офлайн
52
EBFE,
'^\d+$'
Отредактировано fata1ex (Июль 10, 2012 21:08:52)
Офлайн