如何将整数拆分为 python 中的 3 位数字组?

How to split integer into group of 3 digits in python?

n = 136462380542525933949347185849942359177

如何将其拆分为一组 3 位数字? 我想要的结果是

136, 462, 380, ..., 177
n = 136462380542525933949347185849942359177
s = str(n)
a = []
for i in range(0, len(s) - 2):
    a.append(s[i: i + 3])
print(a)

一行正则表达式。

import re

# match 3 digits or 1-3 digits at the end
ls = re.findall(r"(\d{3}|\d{1,3}$)", str(n))

结果

print(ls)
# ['136', '462', '380', '542', '525', '933', '949', '347', '185', '849', '942', '359', '177']

如果 n 有 (3m+1) 或 (3m+2) 位数字,此解决方案还会提取最后 1 或 2 位数字。