Python入門から応用までの学習サイト


リストの逆順 (reverse / reversed)

Pythonにてリストの逆順を取得したい場合があります。指定のリスト自体を逆順に更新する方法と、リストの逆順結果のみを取得する方法があります。なおreversed関数は、リストに限らずシーケンスであれば結果を得ることができます。

「reverse」を使用するとリストオブジェクト自体の要素が逆順で更新されます。

# -*- coding: utf-8 -*- 

python_list = []
python_list.append('python')
python_list.append('izm')
python_list.append('sample')
python_list.append('list')
python_list.append('reversed')

print '---------------------------------'
print u'【そのまま表示】'
for value in python_list:
    print value

python_list.reverse()

print '---------------------------------'
print u'【逆順表示】'
for value in python_list:
    print value

--実行結果--

---------------------------------
【そのまま表示】
python
izm
sample
list
reversed
---------------------------------
【逆順表示】
reversed
list
sample
izm
python

「python_list」そのものが更新されるため、元に戻したい場合は再度「reverse」を行う必要があります。 内包している要素順を変更したくない際には次の方法を試してみましょう。


結果のみを取得し、リスト自体を変更したくない場合のサンプルです。

# -*- coding: utf-8 -*- 

python_list = []
python_list.append('python')
python_list.append('izm')
python_list.append('sample')
python_list.append('list')
python_list.append('reversed')

print '---------------------------------'
print u'【そのまま表示】'
for value in python_list:
    print value

print '---------------------------------'
print u'【逆順表示】'
for value in reversed(python_list):
    print value

print '---------------------------------'
print u'【リストの再表示】'
for value in python_list:
    print value

--実行結果--

---------------------------------
【そのまま表示】
python
izm
sample
list
reversed
---------------------------------
【逆順表示】
reversed
list
sample
izm
python
---------------------------------
【リストの再表示】
python
izm
sample
list
reversed

「reversed」を使用します。最後の表示結果から「python_list」自体の変更はされていないのが確認出来ると思います。


スライスで逆順に取得することもできます。元のリストには影響を与えません。

# -*- coding: utf-8 -*-

python_list = []
python_list.append('python')
python_list.append('izm')
python_list.append('sample')
python_list.append('list')
python_list.append('reversed')

print '---------------------------------'
print u'【そのまま表示】'
for value in python_list:
    print value

print '---------------------------------'
print u'【逆順表示】'
for value in python_list[::-1]:
    print value

print '---------------------------------'
print u'【リストの再表示】'
for value in python_list:
    print value

--実行結果--

---------------------------------
【そのまま表示】
python
izm
sample
list
reversed
---------------------------------
【逆順表示】
reversed
list
sample
izm
python
---------------------------------
【リストの再表示】
python
izm
sample
list
reversed



Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

インデックスと値を同時に取り出します!



確かな力が身につく
Python「超」入門




P  R