範囲を生成するようなあれ
crontab の構文で "1-10,15,16" みたいなやつがあるけど、これを解析してイテレータがでてきたら便利そうである。
上の場合、1 から 10 がでてきて、次に 15, 16 とでてくるようなイテレータが生成される。
#!/usr/bin/env python # coding: utf-8 from itertools import repeat, chain def once(x): return repeat(x, 1) def main(): expected = [1,2,3,4,5,6,7,8,9,10,15,16] actual = chain(xrange(1, 11), once(15), once(16)) assert expected == list(actual) if __name__ == '__main__': main()
こういうのを生成できるパーサをでっち上げる瞬発力がほしい。