把相邻的连续整数合并成一个区间

2021-07-08  本文已影响0人  京古

用python把相邻的连续整数合并成一个区间

import sys

ints = [2,3,4,5,6,   8,9,10,11,   14,15,16,17,18,   20,    34,35,  41,42,43,44,45,   55,56,  71,  85]

dd = {}
a = [min(ints)]
tt = []
for i in range(len(ints)-1):
    if ints[i+1] == ints[i] + 1 :
        a.append(ints[i+1])
    else:
        a = [ints[i+1]]
    tt.append(a)
for x in tt:
    if not x[0] in dd:
        dd[x[0]] = x
    else:dd[x[0]] = list(set(dd[x[0]] + x))
print(dd)

结果:

{2: [2, 3, 4, 5, 6], 8: [8, 9, 10, 11], 14: [14, 15, 16, 17, 18], 20: [20], 34: [34, 35], 41: [41, 42, 43, 44, 45], 55: [56, 55], 71: [71], 85: [85]}
上一篇下一篇

猜你喜欢

热点阅读