对于一个有序的纯数字列表的描述方式可以有两种,第一种是由
[ ]
包围,以逗号分隔的单独的数字。例如[-6, -3, -2, -1, 0, 1, 3]
;第二种是以字符串表示,其中对于相邻连续的数字,使用-
符号的区间表示,例如[-6, -3, -2, -1, 0, 1, 3]
可以写成"-6,-3-1,3"
。我们今天的任务是,编写一个python3函数,将输入的第一种列表进行转换,返回第二种表达方式的结果。备注:(1)数字列表是有序的(2)区间包含连续数字的起点数字和终点数字(3)区间至少包含3个数字,例如
12,13,14
可以写成12-14
,而22,23
则不可以写成22-23
。题目难度:中等
题目来源:codewars
def solution(nums:list) -> str:
pass
assert solution([-3,-2,-1,2,10,15,16,18,19,20]) == "-3--1,2,10,15,16,18-20"
assert solution([-6,-3,-2,-1,0,1,3,4,5,7,8,9,10,11,14,15,17,18,19,20]) == "-6,-3-1,3-5,7-11,14,15,17-20"