randomモジュールのshuffleメソッド

randomモジュールのshuffleメソッドは、 変更可能なシーケンス内の要素の順序をランダムに並び替えます。 タプルは不変シーケンスであり、 集合の要素は順序付けられていないため、 このメソッドはリストに対してのみ機能します。 メソッドの実行後、元のリストは変更され、 メソッド自体はNoneを返します。 メソッドのパラメータには、対象のリストを渡します。

構文

pythonimport random

random.shuffle(リスト)

例

リスト内の要素をシャッフルしてみましょう:

pythonlst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)

コードの実行結果:

python[4, 3, 2, 1, 5]

例

今度は、タプルの要素をシャッフルしようとしてみましょう:

pythontpl = ('1', '2', '3', '4', '5')
random.shuffle(tpl)
print(tpl)

次のエラーが返されます:

errorTypeError: 'tuple' object does not support item assignment

例

同様に、集合の要素をシャッフルしようとしてみましょう:

pythonst = {'a', 'b', 'c', 'd'}
random.shuffle(st)
print(st)

コードを実行すると、次のエラーが発生します:

errorTypeError: 'set' object is not subscriptable

関連項目

  • choiceメソッド (randomモジュール)、
    シーケンスからランダムな要素を1つ返します
  • randomメソッド (randomモジュール)、
    疑似乱数を返します