Edited at

Python と Ruby で配列 (リスト) から要素を n 個おきに取り出す

More than 1 year has passed since last update.


はじめに

僕は普段は Ruby を書いているのですが、最近趣味で Python を触り始めました。Python のリストのスライスを知って便利だなと思いました。ところで、Python の array[::3] という書き方は Ruby でどう書けばいいだろうとふと疑問に思ったので書き比べてみました。


Python

n = 3

array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
array[::n] #=> [0, 3, 6, 9]


Ruby

n = 3

array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
array.select.with_index { |_, i| i % n == 0 } #=> [0, 3, 6, 9]

うーむ、もっといい書き方はないだろうか… :thinking: