[Python]配列を逆順にするには?

python

どうも、ちょげ(@chogetarou)です。

配列を逆順にする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リストの場合

リストを逆順にする方法は、3つあります。

reverse()

1つ目は、reverse()メソッドを使う方法です。

具体的には、リストからreverse()メソッドを呼び出します。

list.reverse()

reverse()メソッドは、呼び出したリストを逆順にします。

使用例

numbers = [1, 2, 3, 4, 5]

numbers.reverse()

print(numbers) #[5, 4, 3, 2, 1]

reversed()

2つ目は、reversed()を使う方法です。

まず、reversed()を呼び出します。

reversed()の引数にリストを指定します。

そして、reversed()の結果を、リストに変換します。

reverse_list = list(reversed(list))

上記のlist(reversed(list))は、reversed()の引数に指定したリストを逆順にしたリストを返します。

reversed()は、引数に指定したリスト自体を変更しません。

使用例

numbers = [1, 2, 3, 4, 5]

reverse_nums = list(reversed(numbers))

print(reverse_nums) #[5, 4, 3, 2, 1]

スライス

3つ目は、スライスを使う方法です。

具体的には、リストを「::-1」でスライスします。

reverse_list = list[::-1]

[::-1]でスライスしたリストは、逆順のリストを返します。

「[::-1]」は、スライスしたリスト自体を変更しません。

使用例

numbers = [1, 2, 3, 4, 5]

reverse_nums = numbers[::-1]

print(reverse_nums) #[5, 4, 3, 2, 1]

Array.arrayの場合

Array.arrayを逆順にする方法は、3つあります。

reverse()

1つ目は、reverse()メソッドを使う方法です。

具体的には、Array.arrayからreverse()メソッドを呼び出します。

array.reverse()

reverse()メソッドは、呼び出したArray.arrayを逆順にします。

使用例

import array as arr

numbers = arr.array('i', [1, 2, 3, 4, 5])

numbers.reverse()

print(numbers) #array('i', [5, 4, 3, 2, 1])

reversed()

2つ目は、reversed()を使う方法です。

まず、Array.arrayを生成します。

そして、Array.arrayの第2引数にreversed()を指定します。

reversed()の引数には、対象のArray.arrayを指定します。

reverse_array = array.array('i', reversed(array))

上記のarray.array()は、逆順にしたArray.arrayを生成します。

reversed()は、引数に指定したArray.array自体を変更しません。

使用例

import array

numbers = array.array('i', [1, 2, 3, 4, 5])

reverse_nums = array.array('i', reversed(numbers))

print(reverse_nums) #array('i', [5, 4, 3, 2, 1])

スライス

3つ目は、スライスを使う方法です。

具体的には、Array.arrayを「::-1」でスライスします。

reverse_list = list[::-1]

[::-1]でスライスしたArray.arrayは、逆順のArray.arrayを返します。

「[::-1]」は、スライスしたArray.array自体を変更しません。

使用例

import array

numbers = array.array('i', [1, 2, 3, 4, 5])

reverse_nums = numbers[::-1]

print(reverse_nums) #array('i', [5, 4, 3, 2, 1])

Numpy配列

Numpy配列を逆順にする方法は、3つあります。

スライス

1つ目は、スライスを使う方法です。

具体的には、Numpy配列を「::-1」でスライスします。

reverse_array = array[::-1]

[::-1]のスライスは、逆順のNumpy配列を返します。

使用例

import numpy as np

numbers = np.array([1, 2, 3, 4, 5])

reverse_nums = numbers[::-1]

print(reverse_nums) #[5, 4, 3, 2, 1]

flipud()

2つ目は、Numpyのflipud()を使う方法です。

まず、flipudを呼び出します。

そして、flipudの引数にNumpy配列を指定します。

reverse_array = np.flipud(array)

flipud()は、引数のNumpy配列を逆順にした結果を返します。

使用例

import numpy as np

numbers = np.array([1, 2, 3, 4, 5])

reverse_nums = np.flipud(numbers)

print(reverse_nums) #[5, 4, 3, 2, 1]

fliplr()

3つ目は、Numpyのfliplr()を使う方法です。

まず、fliplrを呼び出します。

そして、fliplrの引数にNumpy配列を指定します。

reverse_array = np.fliplr(array)

fliplr()は、引数のNumpy配列を逆順にした結果を返します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],
                 [4, 5, 6], 
                 [7, 8, 9]])

reverse_nums = np.fliplr(nums)

print(reverse_nums) 
#[[3 2 1]
# [6 5 4]
# [9 8 7]]

まとめ

リストを逆順にする方法は、次の3つです。

  • reverse()メソッドを使う方法
  • reversed()を使う方法
  • スライスを使う方法

Array.arrayを逆順にする方法は、次の3つです。

  • reverse()メソッドを使う方法
  • reversed()を使う方法
  • スライスを使う方法

Numpy配列を逆順にする方法は、次の3つです。

  • スライスを使う方法
  • np.flipud()を使う方法
  • np.fliplr()を使う方法

コメント

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