Re: 先頭から2文字ずつ取る
Pythonのジェネレータで四角いらせんを書くのに反応した|Pythonでなんか作ってみるの隣のエントリー先頭から2文字ずつ取る|Pythonでなんか作ってみるに反応してみます。
これでどうでしょ?
>>> def foo(a, b, *rest): c = "0x%c%c" % (a, b) if not rest: return [c] else: result = foo(*rest) result.insert(0, c) return result >>> foo(*"123456") ['0x12', '0x34', '0x56']
ジェネレータが使えるならこっちの方がいいかも。
>>> def foo(a, b, *rest): yield "0x%c%c" % (a, b) if rest: for result in foo(*rest): yield result >>> for result in foo(*"123456"): print result 0x12 0x34 0x56