python 数组中不同位数的提取

a=[1,2,23,56,456,654,5678]
想自动识别数组a中数字的位数,生成这样的结果:
b1=[1,2]
b2=[23,56]
b3=[456,654]
b4=[5678]
生成这样的数组,就是一个位数归一类,两位数归一类,相同位数归一类

a=[1,2,23,56,456,654,5678, 8888]

d = {}
for i in a:
    d[len(str(i))] = d.get(len(str(i)), []) + [i]

for k, v in d.items():
    print('b' + str(k) + ":", v)

你得说明是生成这样的表达式还是生成这样的字符串


a = [1,2,23,56,456,654,5678]
b1 = []
b2 = []
b3 = []
b4 = []
for an in range(len(a)):
    s = len(str(a[an]))
    if s == 1:
        b1.append(a[an])
    elif s == 2:
        b2.append(a[an])
    elif s == 3:
        b3.append(a[an])
    elif s == 4:
        b4.append(a[an])
print('b1=',b1)
print('b2=',b2)
print('b3=',b3)
print('b4=',b4)

img

如有帮助, 请 采纳 。谢谢。