【发布时间】:2012-06-08 13:27:17
【问题描述】:
我有这样的元素列表:[1/1/9-1/1/13, 1/1/20-1/1/22]
我想打印介于 9 和 13、20 和 22 之间的数字
Result= [1/1/10, 1/1/11, 1/1/12, 1/1/21 ]
range() 方法可以做到这一点,但是如何捕捉它们呢?
【问题讨论】:
-
那些应该是字符串吧?
我有这样的元素列表:[1/1/9-1/1/13, 1/1/20-1/1/22]
我想打印介于 9 和 13、20 和 22 之间的数字
Result= [1/1/10, 1/1/11, 1/1/12, 1/1/21 ]
range() 方法可以做到这一点,但是如何捕捉它们呢?
【问题讨论】:
>>>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']
我想这就是你想要的。
【讨论】: