[Python]配列(Array)をソートするには?

python

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

配列(array)をソートする方法を紹介します。

スポンサーリンク

リスト(list)

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

昇順

リスト(List)を昇順にソートする方法は、2つあります。

sorted()関数

1つは、sorted()関数を使う方法です。

まず、sorted()関数を呼び出します。

そして、sorted()関数の引数にリストを指定します。

result = sorted(list, reverse=True)

上記のsorted()関数は、引数のリストを昇順にソートした新しいリストを生成します。

使用例

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

result = sorted(numbers)

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

sort()メソッド

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

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

list.sort()

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

使用例

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

numbers.sort()

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

降順

リスト(List)を降順にソートする方法は、2つあります。

sorted()関数

1つは、sorted()関数を使う方法です。

まず、sorted()関数を呼び出します。

そして、sorted()関数の第1引数にリスト、引数「reverse」に「True」を指定します。

result = sorted(list, reverse=True)

上記のsorted()関数は、第1引数のリストを降順にソートした新しいリストを返します。

使用例

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

result = sorted(numbers, reverse=True)

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

sort()メソッド

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

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

sort()メソッドの引数「reverse」に「True」を指定します。

list.sort(reverse=True)

引数「reverse」に「True」を指定したsort()メソッドは、呼び出したリストを降順にソートします。

使用例

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

numbers.sort(reverse=True)

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

Array.array

昇順

Array.arrrayを昇順にソートするには、sorted()関数を使います。

まず、sorted()関数を呼び出します。

sorted()関数に引数にソートするArray.arrayを指定します。

そして、sorted()の戻り値をarray.array()の第2引数に指定します。

result = array.array('t', sorted(array))

上記のコードは、sorted()関数の引数のarray.arrayを昇順にソートした新しいArray.arrayを生成します。

使用例

import array

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

numbers = array.array('i', sorted(numbers))

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

降順

Array.arrrayを降順にソートするには、sorted()関数を使います。

まず、sorted()関数を呼び出します。

sorted()関数の第1引数にArray.array、引数「reverse」に「True」を指定します。

そして、sorted()の戻り値をarray.array()の第2引数に指定します。

result = array.array('t', sorted(array, reverse=True))

上記のコードは、sorted()関数の第1引数のarray.arrayを降順にソートした新しいArray.arrayを生成します。

使用例

import array

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

numbers = array.array('i', sorted(numbers, reverse=True))

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

Numpy配列

昇順

Numpy配列(Array)を昇順にソートする方法は、2つあります。

sort()メソッド

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

具体的には、numpy配列からsort()メソッドを呼び出します。

array.sort()

sort()メソッドは、呼び出したnumpy配列を昇順にソートします。

使用例

import numpy as np

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

numbers.sort()

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

numpy.sort()

もう1つは、numpyのsort()を使う方法です。

まず、numpyからsort()を呼び出します。

そして、sort()の引数にnumpy配列を指定します。

result = np.sort(array)

numpyのsort()は、引数に指定したnumpy配列を昇順にソートした新しいnumpy配列を生成します。

使用例

import numpy as np

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

result = np.sort(numbers)

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

降順

Numpy配列(Array)を降順にソートする方法は、2つあります。

sort()メソッド

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

まず、numpy配列を[::-1]でスライスします。

そして、[::-1]でスライスしたnumpy配列からsort()メソッドを呼び出します。

array[::-1].sort()

[::-1]でスライスしたnumpy配列からsort()メソッドを呼び出すことで、numpy配列を降順にソートできます。

使用例

import numpy as np

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

numbers[::-1].sort()

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

numpy.sort()

もう1つは、numpyのsort()を使う方法です。

まず、numpyからsort()を呼び出します。

sort()の引数にnumpy配列を指定します。

そして、sort()の後に[::-1]を記述します。

result = np.sort(array)[::-1]

np.sort(array)[::-1]は、sort()の引数に指定したnumpy配列を降順にソートした新しいnumpy配列を生成します。

使用例

import numpy as np

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

result = np.sort(numbers)[::-1]

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

まとめ

リストを昇順にソートする方法は、次の2つです。

  • sorted()関数を使う方法
  • sort()メソッドを使う方法

リストを降順にソートするには、sorted()関数もしくはsort()メソッドの引数「reverse」に「True」を指定します。

Array.arrayを昇順にソートするには、sorted()を使います。

また、Array.arrayを降順にソートするには、sorted()の引数「reverse」に「True」を指定します。

Numpy配列を昇順にソートする方法は、次の2つです。

  • sort()メソッドを使う方法
  • numpyのsort()を使う方法

また、Numpy配列を降順にソートするには、sort()メソッドもしくはnumpyのsort()に加えて、スライスを使います。

コメント

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