s = '1-3,6,8-10,13-16' temp = [x.split('-') if '-' in x else x for x in s.split(',')] # temp = [['1', '3'], '6', ['8', '10'], ['13', '16']] res = [] for l in temp: if isinstance(l, list): a, b = map(int, l) res = res + range(a, b + 1) else: res.append(int(l)) # res = [1, 2, 3, 6, 8, 9, 10, 13, 14, 15, 16]
Roman pekar
source share