ランダム リストを生成するとき、random.shuffle() 関数が使用されます。この関数の呼び出しに関して次の疑問が生じます:
リストが明示的に定義されている場合 (li = [] など)、シャッフル関数望ましい結果が得られますが、
ただし、list(range(n)) が shuffle のパラメーターとして使用される場合は、None が返されます。図に示すように:
何が起こっているのでしょうか?それらはすべてリスト カテゴリに属します
天蓬老师2017-05-18 10:50:52
なぜならrandom.shuffle()
会直接作用于list
本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)
的时候,你打印的是li
このリスト自体が変更されているからです。こう書くと
li = ランダム.シャッフル(リ)
その後、同じように戻りますNone
.所以想要得到list(range(20))
被shuffle
操作过后的值,需要先给它一个变量名,在被shuffle
操作後にのみアクセスできます。