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

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

慕姐4208626 2019-10-08 10:53:42
请问在python中如何让'[1,2,3,6~10]'返回[1,2,3,6,7,8,9,10]列表?谢谢
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

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-08
?
长风秋雁

TA贡献1757条经验 获得超7个赞

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

添加回答

举报

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