11月 23 2009

Python で逆順のリストを得る

Published by HoLY at 1:28:19 under tech

Python の初歩的小ネタ。

Python では、あるリストの逆順を得るには、破壊的な reverse() メソッドを用いるか、逆順のイテレータを得るreversed()関数がある。

somelist.reverse() # somelist 自体が変更される
reversed(somelist) # somelist を逆順に辿るイテレータを得る

たいていはこの2つで足りるけども、たまーに somelist の逆順のリストが欲しいことがある。その場合は、(まず)つぎの2つの方法がある。

list(reversed(somelist)) 
# あるいは
somelist[::-1]

後者がなんとなくテクニカルっぽいけども、普通に考えて list(reversed(...)) でいいんじゃなかろうか(速度もそんな変わらん)。

もちろん、reversed() で足りるならその方が良いだろう。(リストのコピーしないだろうから)

No responses yet

Trackback URI | Comments RSS

Leave a Reply