ホームページ > バックエンド開発 > Python チュートリアル > Python の「random.shuffle()」が None を返すのはなぜですか?

Python の「random.shuffle()」が None を返すのはなぜですか?

Patricia Arquette
リリース: 2024-11-26 10:20:10
オリジナル
535 人が閲覧しました

Why Does Python's `random.shuffle()` Return None?

Random.shuffle() が None を返す理由

Python のrandom.shuffle() 関数は、特定の状況では None を返すように見える場合があります。この問題を解決するには、random.shuffle() の目的を理解することが重要です。

random.shuffle() は、リストを所定の位置でシャッフルするために使用されます。構造体の変更されたコピーを返す多くの関数とは異なり、random.shuffle() は新しいリストを作成せずに元のリストを変更します。したがって、random.shuffle(x) を呼び出すと、x 自体がシャッフルされ、関数が新しいリストを明示的に生成しないため、None が返されます。

シャッフルされた値の取得

シャッフルされた値を取得するには、呼び出した後に元のリストを印刷するかアクセスします。 random.shuffle().

import random
x = ['foo', 'bar', 'black', 'sheep']
random.shuffle(x)
print(x)  # Prints the shuffled list
ログイン後にコピー

新しいシャッフル リストの作成

元のリストを変更せずに新しいランダム シャッフル リストを作成したい場合は、次のいずれかを使用します。 random.sample() またはsorted().

を使用するrandom.sample():

import random
x = ['foo', 'bar', 'black', 'sheep']
shuffled_list = random.sample(x, len(x))
ログイン後にコピー

sorted() の使用:

import random
x = ['foo', 'bar', 'black', 'sheep']
shuffled_list = sorted(x, key=lambda k: random.random())
ログイン後にコピー

以上がPython の「random.shuffle()」が None を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート