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

在线等!请问在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]列表?跪求!

一只斗牛犬 2019-10-25 23:01:25
请问在python中如何让'[1,2,3,6~10]'返回[1,2,3,6,7,8,9,10]列表?谢谢
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

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-25
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

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-25
  • 2 回答
  • 0 关注
  • 345 浏览
慕课专栏
更多

添加回答

举报

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