+−str_ranges = "1, 3-7, 12, 15, 18-21" +− +−ranges = str_ranges.split(',') +− +−lst = [] +−for r in ranges: +− vals = r.split('-') +− if len(vals) == 2: +− lst.extend(range(int(vals[0]), int(vals[1]) + 1)) +− else: +− lst.append(int(vals[0])) +− +−print lst