请教一个指定格式输出的问题

给出一串数字,如,1, 2, 3, 4, 5, 8, 10, 11, 12, 13,  20, 21, 22;

如何按照格式[1-5] [8] [10-13] [20-22]输出

这是一道编程题

# -*- coding: utf-8 -*-
# Python3
# 输入格式:1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 20, 21, 22
seq = list(map(int, input().split(',')))
tmp = [seq[0]]
all_list = []
for n in range(len(seq)):
    if n == len(seq) - 1:
        all_list.append(tmp)
        break
    if seq[n + 1] - seq[n] == 1:
        tmp.append(seq[n + 1])
    else:
        all_list.append(tmp)
        tmp = [seq[n + 1]]
for a in all_list:
    if len(a) > 1:
        print('[%s-%s]' % (a[0], a[-1]))
    else:
        print('[%s]' % a[0])