贴一段又臭又长的Python代码

# huawei3

def unzip(str1):
    index_list = []
    index_list2 = []
    # 找到所有字母索引
    for i in range(len(str1)):
        if str1[i].isalpha():
            index_list.append(i)
    # 将字母分段
    num_list = []
    #num_list.append(index_list[0])
    for i in range(len(index_list)-1):
        num_temp = []
        length = index_list[i+1] - index_list[i]
        if (length) > 1:
            for j in range(1, length):
                num_temp.append(index_list[i]+j)
        
        num_list.append(num_temp)
    temp = []
    temp.append(len(str1)-1)
    num_list.append(temp)
    
    #for i in num_list:
    #    if 0 == len(i):
    #        num_list.remove(i)
    while [] in num_list:
        num_list.remove([])
    #print(str1)
    #print(num_list)
    # 获得数字
    result_num_list = []
    for i in num_list:
        len_temp = len(i)
        if len_temp <= 1:
            #print(str1[i[0]])
            result_num_list.append(int(str1[i[0]]))
        else:
            sum1 = 0
            for j in range(len_temp):
                sum1 += int(str1[i[j]]) * 10**(len_temp-j-1)

            result_num_list.append(sum1)
            
    #result_num_list.append(int(str1[len(str1)-1]))
    #print(result_num_list)


    # 获得字符串
    num_list2 = num_list[:]
    tt = []
    tt.append(0)
    num_list2.insert(0,tt)
    #print(num_list2)
    #print(index_list)
    result_str_list = []
    result_str_list.append(str1[0])
    for i in range(len(num_list2)-1):
        length = num_list2[i+1][0] - num_list2[i][-1]
        start = num_list2[i][-1]
        temp2 = ""
        for j in range(length-1):
            temp2+=str1[start+j+1]
        result_str_list.append(temp2)

    while '' in result_str_list:
        result_str_list.remove('')
    #print(result_str_list)

    # 构建字典
    result_dic = dict(zip(result_str_list,result_num_list))
    sort_dic = zip(result_dic.values(),result_dic.keys())
    sort_dic = sorted(sort_dic)

    result = ""
    for i in range(len(sort_dic)):
        for j in range(sort_dic[i][0]):
            result += sort_dic[i][1]

    return result


str1 = input("")

result = unzip(str1)
print(result)