inp = [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25,27,28,29,31]
预期的输出:如果相邻变量串联,则用连字符填充。如果没有,请附加给定的数字。
Expected Output = [1-3,5,7-12,14,17,20,25,27-29,31]
我已使用以下代码获取了一个相邻的号码。但是要求不满足。
inp = [1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25,27,28,29,31]
for x,y in zip(inp[::],inp[1::]):
print(x,y)
请帮助。
You can use
itertools.groupby
:印刷品: