2012-06-04 51 views
-8

范围操作我有这样的元素列表:[1/1/9-1/1/13, 1/1/20-1/1/22]的Python:与列表

,我想在9和13,20和22

Result= [1/1/10, 1/1/11, 1/1/12, 1/1/21 ] 

范围之间的范围内打印的数字()方法可以做到这一点,但如何捕捉它们?

+0

那些应该是字符串对吗? – jamylak

+1

你尝试了什么? –

回答

1
>>>test = ['1/1/9-1/1/13', '1/1/20-1/1/22'] 
>>>test = [tuple(x.split('-')) for x in test] 
>>>print test 
[('1/1/9', '1/1/13'), ('1/1/20', '1/1/22')] 
>>>result = [x[:x.rfind('/')+1]+str(t) for x,y in test for t in range(int(x.split('/')[-1])+1, int(y.split('/')[-1]))] 
>>>print result 
['1/1/10', '1/1/11', '1/1/12', '1/1/21'] 

我想这是你想要的。

+0

优秀:)我是新来的蟒蛇,这就是我所说的让你执行“结果”行成功吗?我得到了这个错误消息“无效的文字为int()与基10:'1/1/9'” – user1435173

+0

@ user1435173对不起,我犯了一个错误。现在是对的。 – shihongzhi