ホームページ > バックエンド開発 > Python チュートリアル > オブジェクトをシャッフルすると、Python の「random.shuffle」が「None」を返すのはなぜですか?

オブジェクトをシャッフルすると、Python の「random.shuffle」が「None」を返すのはなぜですか?

Susan Sarandon
リリース: 2024-12-14 14:36:20
オリジナル
609 人が閲覧しました

Why Does Python's `random.shuffle` Return `None` When Shuffling Objects?

オブジェクトのリストをシャッフルする

Python でrandom.shuffle関数を使用してオブジェクトのリストをシャッフルしようとすると、次のような問題が発生する可能性があります。 None 出力を受け取る問題。整数のリストとは異なり、オブジェクトのシャッフルにはもう少し考慮する必要があります。

random.shuffle について

random.shuffle は、その場で変更可能なオブジェクトに対して動作します。つまり、オリジナルリスト。この関数はシャッフルされたリストを返すのではなく、入力リストを変更します。その結果、実際の値が返されていないことを示す None が返されます。

解決策

この問題を解決するには、入力リストに変更可能なオブジェクトが含まれていることを確認してください。リストなど。以下に例を示します。

from random import shuffle

# Create a list of lists as objects
x = [[i] for i in range(10)]

# Shuffle the list of objects in place
shuffle(x)

# Print the shuffled list
print(x)
ログイン後にコピー

出力:

[[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
ログイン後にコピー

リストをオブジェクトとして使用することで、random.shuffle は元のリストを効果的に変更し、目的のシャッフルされた出力を提供できます。可変オブジェクトを扱う場合、オブジェクトを適切に変更した後、関数が None を返すのが一般的であることに注意してください。

以上がオブジェクトをシャッフルすると、Python の「random.shuffle」が「None」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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