1. ホーム
  2. python

[解決済み] 重複のない乱数リストを作成するには?

2022-04-28 01:29:56

質問

を使ってみました。 random.randint(0, 100) しかし、同じ数字がいくつかありました。一意の乱数リストを作成する方法/モジュールはありますか?

注:以下のコードは 回答ベース で、回答が投稿された後に追加されたものです。これは問題の一部ではなく、解答です。

def getScores():
    # open files to read and write
    f1 = open("page.txt", "r");
    p1 = open("pgRes.txt", "a");

    gScores = [];
    bScores = [];
    yScores = [];

    # run 50 tests of 40 random queries to implement "bootstrapping" method 
    for i in range(50):
        # get 40 random queries from the 50
        lines = random.sample(f1.readlines(), 40);

解決方法は?

これは、0から99の範囲から選択された10個の数字のリストを、重複を除いて返します。

import random
random.sample(range(100), 10)

具体的なコード例で言うと、おそらくファイル 一度 で、メモリに保存されたリストからランダムに行を選択します。例えば

all_lines = f1.readlines()
for i in range(50):
    lines = random.sample(all_lines, 40)

この方法では、実際にファイルから読み込むのは、ループの前の一度だけでよい。ファイルの先頭にシークして f1.readlines() ループを繰り返すたびに、再び