問題:
ランダム.シャッフル()関数。予期されたシャッフル動作は発生しないようで、関数は代わりに None を出力します。
解決策:
オブジェクトのリストを効果的にシャッフルするには、shuffle( ) ランダムモジュールからの関数は次のようになります
from random import shuffle objects = [obj1, obj2, obj3] # initialize the list of objects shuffle(objects) # shuffle the objects in place
説明:
他のプログラミング言語とは異なり、Python では、random.shuffle() はその場で動作します。つまり、元のリストを変更せずに変更します。新しいものを返す。さらに、オブジェクトの変更が意図されている場合、Python の関数は None を返すのが一般的です。
サンプル コード:
from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x)
これにより、リスト x のリストがシャッフルされます。シャッフルされたものを印刷しますresult.
注:
shuffle() は元のリストを変更するため、その後の操作やリストへのアクセスには shuffle によって加えられた変更が反映されることを覚えておくことが重要です。 ().
以上がPython の「random.shuffle()」が「None」を返すのはなぜですか?どうすれば正しく使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。