どうも、ちょげ(@chogetarou)です。
配列をランダムに並び替える方法を紹介します。
方法

リストと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()を使う方法
コメント