ホームページ  >  に質問  >  本文

Python 3.5のrandom.shuffleの問題

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

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

世界只因有你世界只因有你2711日前1208

全員に返信(2)返信します

  • 黄舟

    黄舟2017-05-18 10:50:52

    リーリー

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

    が与えられた場合と記載されています リーリー

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-18 10:50:52

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

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

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

    返事
    0
  • キャンセル返事