我想区分真实数字和字符串数字

I want to distinguish between true digit and a string digit

我想提前检查一个'x'字符串是否是数字

'1'自然是数字

但是我很会用①所谓的串号。

不知道字符串数字的范围IDE判断为数字

'①'.isdigit() returns 正确。

'⑴'.isdigit() returns 正确。

'ⅰ''Ⅰ' returns 错误。

'㈠' returns 错误。 ((1)的汉字版本)

'❶' returns 正确。

我想这样做。

for s in data:
    if s.isdigit():
       int_ = int(s)

如果我接受 '①'int 将抛出错误。现在,我为它写try:except。

因为我是日本人所以经常用'①'或者'⑴'

如何预先区分isdigit和isdigit?

是靠try:except还是全部提前算好?

正则表达式?

主要问题是我不知道判断什么是数字

data = ["1", "23", "345", "①", "(1)", "(2)"]

此数据为动态值。每次都会更改。

而且,像这样的字符串以后可能会扩展

希望isdigit() == True的字符串被int()接受。

我没有紧急问题,因为 try: except.

我相信 str.isdecimal 方法符合您的要求。它排除了像 '①' 这样的字符串,但包括像 '١' 这样被 int.

接受的其他字符串。
>>> int('١')                
1