def f(x): result = [] for part in x.split(‘,’): if ‘-‘ in part: a, b = part.split(‘-‘) a, b = int(a), int(b) result.extend(range(a, b + 1)) else: a = int(part) result.append(a) return result
>>> f('1,2,5-7,10')
[1, 2, 5, 6, 7, 10]
如何在Python中将数字字符串范围转换为列表
def f(x): result = [] for part in x.split(‘,’): if ‘-‘ in part: a, b = part.split(‘-‘) a, b = int(a), int(b) result.extend(range(a, b + 1)) else: a = int(part) result.append(a) return result
>>> f('1,2,5-7,10')
[1, 2, 5, 6, 7, 10]