« Seasar2によるスーパーアジャイルなWeb開発 | メイン | Gmailにリモートログアウト機能! »

Pythonの配列のスライス

すげーコード見つけた - へたれプログラマな日々

こんな簡単な書き方で文字列から数値だけを抜き出してる。
この処理が秀逸だよなぁ。必ず偶数番目に数値がくるっていうのが目からウロコ

DIGITS = re.compile(r'(¥d+)')
>>> print DIGITS.split('abc123a4bcd56')
['abc', '123', 'a', '4', 'bcd', '56', '']
>>> print DIGITS.split('123a4bcd56e')
['', '123', 'a', '4', 'bcd', '56', 'e']

なるほどねー。

個人的にはPythonの以下の記法がおもしろいなーと思いました。

pieces[1::2]

これで、piecesという配列のインデックス1から最後まで2ステップ(1つ飛ばし)でスライスしちゃうと。

JavaScriptにも似たような書き方ないか探してみたけど、見あたらず。

配列のsplitは同じように書けるのになぁ。

var hoge ='a123bc4d567ef89';
hoge.split(/(\d+)/);

ところで上記pythonのコードはTracのどういう機能で使われてるんだろ。