オブジェクトのリストをシャッフルする [重複] 質問する

オブジェクトのリストをシャッフルする [重複] 質問する

オブジェクトのリストをシャッフルするにはどうすればいいですか?試してみましたrandom.shuffle:

import random

b = [object(), object()]

print(random.shuffle(b))

しかし、出力は次のようになります:

None

ベストアンサー1

random.shuffle動作するはずです。オブジェクトがリストである例を次に示します。

from random import shuffle

x = [[i] for i in range(10)]
shuffle(x)
print(x)

# print(x)  gives  [[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]

は の代わりに としてshuffle動作し、 を返すことに注意してください。None

Python では一般的に、可変オブジェクトを関数に渡すことができ、関数がそれらのオブジェクトを変更する場合、標準ではNone(変更されたオブジェクトではなく) を返します。

おすすめ記事