11月 23 2009
Python で逆順のリストを得る
Python の初歩的小ネタ。
Python では、あるリストの逆順を得るには、破壊的な reverse() メソッドを用いるか、逆順のイテレータを得るreversed()関数がある。
somelist.reverse() # somelist 自体が変更される
reversed(somelist) # somelist を逆順に辿るイテレータを得る
たいていはこの2つで足りるけども、たまーに somelist の逆順のリストが欲しいことがある。その場合は、(まず)つぎの2つの方法がある。
list(reversed(somelist))
# あるいは
somelist[::-1]
後者がなんとなくテクニカルっぽいけども、普通に考えて list(reversed(...)) でいいんじゃなかろうか(速度もそんな変わらん)。
もちろん、reversed() で足りるならその方が良いだろう。(リストのコピーしないだろうから)
