首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用正则表达式从列表中提取值

不使用正则表达式从列表中提取值
EN

Stack Overflow用户
提问于 2017-02-17 17:39:06
回答 3查看 35关注 0票数 1

具有包含其间带有特殊字符的值的列表的:

代码语言:javascript
复制
myLst = ['5-8','20130-23199','1025-2737']

如何在不使用正则表达式的情况下提取包含-的值?

我用正则表达式“解决”了这个问题,但是对于很大的数字,它非常慢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-17 17:41:58

使用str.split

代码语言:javascript
复制
myLst = ['5-8','20130-23199','1025-2737']

result = [s.split('-') for s in myLst]

print(result)
#[['5', '8'], ['20130', '23199'], ['1025', '2737']]
票数 4
EN

Stack Overflow用户

发布于 2017-02-17 17:42:41

您可以使用range()来实现这一点

代码语言:javascript
复制
for i in myLst:
  tmp = i.split("-")
  print(list(range(int(tmp[0])+1,int(tmp[1]))))
票数 0
EN

Stack Overflow用户

发布于 2017-02-17 20:40:08

代码语言:javascript
复制
myLst = ['5-8','20130-23199','1025-2737']

结果= []

[myLst中s的result.extend([s.split(‘-’),s.split('-')1])

打印结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42294393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档