需求说明
给定一个字符串:
‘0-3,7,9,12,15’
输出列表形式,把"-"省略的数值展开写:
[0, 1, 2, 3, 7,9,12,15]
代码
def region2list(rg_str):
"""
0-4 return [0,1,2,3,4]
7,9 return [7,9]
0-4,7,9 return [0,1,2,3,4,7,9]
"""
lst = []
rg_str_lst = rg_str.strip().split(',')
for i in rg_str_lst:
if '-' in i:
st, ed = i.split('-')
lst.extend(list(range(int(st), int(ed)+1)))
else:
lst.append(int(i))
return lst
rg_str = '0-3,7,9,12,15'
print(region2list(rg_str))
输出
[0, 1, 2, 3, 7, 9, 12, 15]
之前写过反过来的操作:合并list中连续的数值