扩展一个范围,例如:“ 1-3,6,8-10”到[1,2,3,6,8,9,10]
问题内容:
我正在尝试向程序添加一个选项,以允许用户选择他要执行的程序步骤。
我希望能够解析like"1-3,6,8-10"
和get 的字符串[1, 2, 3, 6, 8, 9, 10]
。
您知道Python中正在执行的操作吗?
问题答案:
该功能可以完成您所要求的。它假定不使用负数,否则需要进行一些更改以支持这种情况。
def mixrange(s):
r = []
for i in s.split(','):
if '-' not in i:
r.append(int(i))
else:
l,h = map(int, i.split('-'))
r+= range(l,h+1)
return r
print mixrange('1-3,6,8-10')