RosettaCodeData/Task/Range-expansion/Python/range-expansion-2.py

12 lines
280 B
Python
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
import re
def rangeexpand(txt):
lst = []
for rng in txt.split(','):
2026-04-30 12:34:36 -04:00
start,end = re.match(r'^(-?\d+)(?:-(-?\d+))?$', rng).groups()
2023-07-01 11:58:00 -04:00
if end:
2026-04-30 12:34:36 -04:00
lst.extend(range(int(start),int(end)+1))
2023-07-01 11:58:00 -04:00
else:
lst.append(int(start))
return lst