Python 3.5のrandom.shuffleの問題
世界只因有你
世界只因有你 2017-05-18 10:48:52
0
2
1256

ランダム リストを生成するとき、random.shuffle() 関数が使用されます。この関数の呼び出しに関して次の疑問が生じます:
リストが明示的に定義されている場合 (li = [] など)、シャッフル関数望ましい結果が得られますが、
ただし、list(range(n)) が shuffle のパラメーターとして使用される場合は、None が返されます。図に示すように:

何が起こっているのでしょうか?それらはすべてリスト カテゴリに属します

世界只因有你
世界只因有你

全員に返信(2)
黄舟

リーリー

ドキュメントには、list对象, 则直接作用鱼listオブジェクト

が与えられた場合と記載されています リーリー
いいねを押す +0
Peter_Zhu

なぜならrandom.shuffle()会直接作用于list本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)的时候,你打印的是liこのリスト自体が変更されているからです。こう書くと

li = ランダム.シャッフル(リ)

その後、同じように戻りますNone.所以想要得到list(range(20))shuffle操作过后的值,需要先给它一个变量名,在被shuffle操作後にのみアクセスできます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート