2012-06-04 80 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