ホームページ >バックエンド開発 >Python チュートリアル >Python の「random.shuffle」が「None」を返すのはなぜですか?
Python のランダム シャッフル: 見かけ上の戻り値が返されない理由?
Python のrandom.shuffle 関数を使用する場合、それを見て当惑するかもしれません。なしを返します。この動作は、そのインプレースの性質に由来します。
変更後に変換されたデータ構造を返す関数とは異なり、random.shuffle は入力リストを直接変更します。したがって、明示的な値が返されていないことを示すために None が返されます。
例として、次のコードを考えてみます。
x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x)
このコードを実行すると、リスト x はシャッフルされます。 -place ですが、random.shuffle 関数自体は値を返しません。その結果、print ステートメントはシャッフルされたリストを出力します。
元のリストを変更せずに新しいシャッフルされたリストが必要な場合は、別の方法を利用できます。
random.sample の複雑さは O(N) ですが、sorted の複雑さは基礎的な理由により O(N log N) であることを理解してください。
random.shuffle のインプレース動作を理解し、必要に応じて代替メソッドを利用することで、Python でのリスト シャッフル操作の処理方法を効果的に制御できます。
以上がPython の「random.shuffle」が「None」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。