Pythonでreverse関数を使ってリストを逆順にする方法

スポンサーリンク

Pythonはリストの要素を逆順にする方法を複数提供しています。

スポンサーリンク

Python 逆引きリスト要素

Python の List を逆順にするには、以下のテクニックを使用します。

  • reversed() 関数の使用によるもの
  • reverse()関数を使用します。
  • スライシングの利用
  • forループとrange()関数の使用によるものです。

1. reversed() 関数

reversed()` メソッドはリストを逆順にたどるイテレータを生成します。

def reverse_list(input):
    return [x for x in reversed(input)]
     
  
input = [0, 22, 78, 1, 45, 9]
print(reverse_list(input))

結果を出力すると、以下の様になります。

[9, 45, 1, 78, 22, 0]

2. reverse()関数

reverse()`関数は、要素を別のリストにコピーしてから反転させる代わりに、要素を反転させて同じリスト内に格納する機能を提供します。

def reverse_list(input):
    input.reverse()
    return input
       
input = [0, 22, 78, 1, 45, 9]
print(reverse_list(input))

結果は以下の通りです。

[9, 45, 1, 78, 22, 0]

3. スライシングテクニック

スライシングテクニックは、リストを反転させる機能を提供します。

def reverse_list(input):
    output = input[::-1]
    return output
     
input = [0, 22, 78, 1, 45, 9]
print(reverse_list(input))

結果は以下の通りです。

[9, 45, 1, 78, 22, 0]

4. forループとrange()関数の使用により

input = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  
# Get list length
list_len = len(input)
  
# i goes from 0 to the middle
for x in range(int(list_len/2)):
     
    n = input[x]
    input[x] = input[list_len-x-1]
    input[list_len-x-1] = n
  
# At this point the list should be reversed
print(input)

結果を出力すると、以下の様になります。

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

まとめ

このように、今回はPythonでリストを逆引きする様々なテクニックを理解し、実装してきました。

タイトルとURLをコピーしました