Python 代码实现数字列表格式转换
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)
原文地址: https://www.cveoy.top/t/topic/n3Sk 著作权归作者所有。请勿转载和采集!