为了账号安全,请及时绑定邮箱和手机立即绑定

请问在python中如何让'[1,2,3,6~10]'返回[1,2,3,6,7,8,9,10]列表?求大佬指点!

请问在python中如何让'[1,2,3,6~10]'返回[1,2,3,6,7,8,9,10]列表?求大佬指点!

ABOUTYOU 2019-10-10 18:14:16
请问在python中如何让'[1,2,3,6~10]'返回[1,2,3,6,7,8,9,10]列表?谢谢
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

deff(s):
parts=s[1:-1].split(',')
l=[]
forpartinparts:
ranges=part.split('~')
iflen(ranges)==1:
l.append(int(ranges[0]))
else:
foriinrange(int(ranges[0]),int(ranges[1])+1):
l.append(i)
returnl
if__name__=='__main__':
print(f('[1,2,3,6~10]'))
                            
查看完整回答
反对 回复 2019-10-10
?
桃花长相依

TA贡献1860条经验 获得超8个赞

fromfunctoolsimportreduce
sampleListStr='[1,2,3,6~10]'sampleList=sampleListStr.strip('[]').split(',')result=list(reduce(lambdax,y:x+y,[[int(element)]if'~'notinelementelselist(reduce(lambdax,y:range(x,y+1),[int(element1)forelement1inelement.split('~')]))forelementinsampleList]))
                            
查看完整回答
反对 回复 2019-10-10
  • 2 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信