[Python]配列をランダムに並び替えるには?

python

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

配列をランダムに並び替える方法を紹介します。

スポンサーリンク

方法

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

リストとArray.arrayの場合

リストもしくはArray.arrayをランダムに並び替える方法は、2つあります。

random.shuffle()

1つは、randomのshuffle()を使う方法です。

まず、randomをインポートします。

import random

そして、randomのshuffle()を呼び出します。

shuffle()の引数には、リストもしくはArray.arrayを指定します。

random.shuffle(array)

random.shuffle()は、引数に指定したリストもしくはArray.arrayをランダムに並び替えます。

使用例

import random

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

random.shuffle(numbers)

print(numbers)

random.sample()

もう1つは、random.sample()を使う方法です。

まず、randomをインポートします。

from random

そして、randomからsample()を呼び出します。

sampleの第1引数にリスト、第2引数に引数にリストもしくはArray.arrayを記述したlen()を指定します。

rnd_list = random.sample(list, len(list))

上記のrandom.sample()は、第1引数に指定したリストもしくはArray.arrayをランダムに並び替えた配列を返します。

使用例

import random

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

rnd_nums = random.sample(numbers, len(numbers))

print(rnd_nums)

Numpy配列の場合

Numpy配列を並び替える方法は、2つあります。

numpy.random.shuffle()

1つは、numpy.randomのshuffle()を使う方法です。

まず、Numpy.randomからshuffle()を呼び出します。

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

np.random.shuffle(array)

np.random.shuffle()は、引数に指定したNumpy配列をランダムに並び替えます。

使用例

import numpy as np

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

np.random.shuffle(numbers)

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

numpy.random.permutation()

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

まず、Numpy.randomからpermutation()を呼び出します。

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

np.random.permutation(array)

np.random.permutation()は、引数に指定したNumpy配列をランダムに並び替えた新しいNumpy配列を生成します。

使用例

import numpy as np

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

rnd = np.random.permutation(numbers)

print(rnd) #[6 2 5 1 4 3]

まとめ

リストもしくはArray.arrayをランダムに並び替える方法は、次の2つです。

  • random.shuffle()を使う方法
  • random.sample()を使う方法

Numpy配列をランダムに並び替える方法は、次の2つです。

  • numpy.random.shuffle()を使う方法
  • numpy.random.permutation()を使う方法

コメント

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