isdigital() --- 除汉子外
isnumeric() --- 除byte数字
isdecimal() --- 仅单、双字节数字
num = ['1', '1', 'Ⅷ', '一', b'50'] decimal = [i for i in num[:4] if i.isdecimal()] # 仅单字节、双字节数字,byte数字报错 digital = [i for i in num if i.isdigit()] # 非汉子 numeric = [i for i in num[:4] if i.isnumeric()] # byte数字报错 print(decimal,digital,numeric, sep='\n')