python随机生成n个满足如下要求的手机号码

1.手机号码必须是13、15、17、18开头
2.手机号码相同数字出现的次数不能大于5次
3.任意两个手机号不能重复
4.生成的手机号码需保存在列表tels中,并且按照升序进行排列

初学python,请求帮助~


def get_random_tels(n):
    import random
    m = 0
    s = [3, 5, 7, 8]
    last = []
    while m < n:
        lst9 = [random.choice(range(10)) for _ in range(9)]
        res = [1] + [random.choice(s)] + lst9
        if len(set(res)) >= 7:
            if res not in last:
                last.append(res)
                m += 1
    tels = []
    for lst in last:
        res = [str(i) for i in lst]
        phone = int(''.join(res))
        tels.append(phone)
    tels.sort()
    
    return tels

get_random_tels(6)  # 随机生成6个
# [13222605719, 13253435076, 13654054562, 13997673840, 15029032380, 15420923374]