python3 处理电话号,保留有前缀的电话号

业务场景:
业务场景

方法:

def handle_same_phone(phone_list):
    if not phone_list:
        return []
    phone_list = list(set(phone_list))
    phone_list = sorted(phone_list, key=lambda x: len(x), reverse=True)
    _d = {}
    __p1 = []
    __p2 = []
    for i in phone_list:
        _li = i.split('-')
        if len(_li) > 1:
            prefix = ''.join(_li[:-1])
            suffix = str(_li[-1])
            __p1.append(suffix)
            if prefix not in _d:
                _d[prefix] = []
                _d[prefix].append(suffix)
            _d[prefix].append(suffix)
            _d[prefix] = list(set(_d[prefix]))
        else:
            if i in __p1:
                continue
            else:
                __p2.append(i)
    res_p = []
    for k, v in _d.items():
        for j in v:
            res_p.append(f'{k}-{j}')
    res_p.extend(__p2)
    return res_p

版权声明:本文为qq_30108237原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。