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

时间:2017-02-17 09:39:06

标签: python python-2.7 list

包含一个包含特殊字符值的列表:

vagrant down

如何在不使用正则表达式的情况下使用myLst = ['5-8','20130-23199','1025-2737'] 之间提取值?

我用正则表达式解决了这个问题,但是数字非常缓慢。

3 个答案:

答案 0 :(得分:4)

使用str.split

myLst = ['5-8','20130-23199','1025-2737']

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

print(result)
#[['5', '8'], ['20130', '23199'], ['1025', '2737']]

答案 1 :(得分:0)

您可以使用range()

执行此操作
for i in myLst:
  tmp = i.split("-")
  print(list(range(int(tmp[0])+1,int(tmp[1]))))

答案 2 :(得分:0)

myLst = ['5-8','20130-23199','1025-2737']

result = []

[result.extend([s.split(' - ')[0],s.split(' - ')[1]])for my in myLst]

打印结果