def group_consecutive(nums):
if not nums:
return []
nums.sort()
result = []
start = end = nums[0]
for num in nums[1:]:
if num == end + 1:
end = num
else:
if start == end:
result.append(str(start))
else:
result.append(f"{start}-{end}")
start = end = num
if start == end:
result.append(str(start))
else:
result.append(f"{start}-{end}")
return result
nums = [1, 2, 3, 5, 6, 8]
ret = group_consecutive(nums)
print(ret) # ['1-3', '5-6', '8']
To embed this project on your website, copy the following code and paste it into your website's HTML: