Python 代码实现数字列表格式转换

需求是:需要把 A 列数据转化成 B 列的格式。

处理逻辑:每个元素保持四位,相邻两元素前两位一致则用 '-' 连接,不一致则用 '/' 连接。

以下是 Python 代码实现:

def convert_format(num_list):
    res = ''
    for i in range(len(num_list)):
        num_str = str(num_list[i]).zfill(4)  # 将数字转化为 4 位字符串
        if i == 0:
            res += num_str
        else:
            prev_str = str(num_list[i-1]).zfill(4)
            if num_str[:2] == prev_str[:2]:
                res += '-' + num_str[2:]
            else:
                res += '/' + num_str
    return res

# 测试
A = [611, 613, 639, 839, 837, 833]
B = ['0611', '0613', '0639/0839', '0837', '0833']
assert convert_format(A) == ''.join(B)

A = [611, 613, 639]
B = ['0611', '0613', '0639']
assert convert_format(A) == ''.join(B)

A = [23, 611, 613, 639]
B = ['0023/0611', '0613', '0639']
assert convert_format(A) == ''.join(B)

A = [23, 611, 613, 639, 993]
B = ['0023/0611', '0613', '0639', '0993']
assert convert_format(A) == ''.join(B)
Python 代码实现数字列表格式转换

原文地址: https://www.cveoy.top/t/topic/n3Sk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录