我有下面的代码,我在别处找到的,我试图找出如何让它停止附加到一个范围,如果它达到下一个100。你知道吗
RI将有一个类似于[600-650、700-820、850-870、1700-2120]的列表,我希望它变成[600-650、700-799、800-820、850-870、1700-1799、1800-1899、1900-1999、2000-2099、2100-2120]
我想我可以看看最后两个数字是不是99,如果是的话,停下来再从下一个数字开始。我不知道该怎么实施。你知道吗
代码如下:
def get_line_numbers_concat(line_nums):
seq = []
final = []
last = 0
for index, val in enumerate(line_nums):
if last + 1 == val or index == 0:
seq.append(val)
last = val
else:
if len(seq) > 1:
final.append(str(seq[0]) + '-' + str(seq[len(seq)-1]))
else:
final.append(str(seq[0]))
seq = []
seq.append(val)
last = val
if index == len(line_nums) - 1:
if len(seq) > 1:
final.append(str(seq[0]) + '-' + str(seq[len(seq)-1]))
else:
final.append(str(seq[0]))
final_str = ', '.join(map(str, final))
return final_str
测试:
打印:
相关问题 更多 >
编程相关推荐