Bootstrap

Python random 生成不重复的随机数

Python random 生成不重复的随机数


先说结论:
random.sample(range(10), n)
random.sample(range(0, 10), n)
以上两条表示在 范围0-9内不包括10生成n条随机数
random.randint(0, 10)
以上表示在 范围0-10内包括10生成1条随机数

比如:

import random
test = random.sample(range(10), 10)
print(test)

输出 [4, 8, 3, 6, 9, 5, 2, 0, 1, 7]

test = random.sample(range(0, 10), 10)
print(test)

输出 [3, 0, 4, 9, 5, 1, 7, 6, 2, 8]

T = []
for i in range(100):
    test = random.randint(0, 10)
    if test not in T:
        T.append(test)
print(T)

输出 [8, 4, 9, 2, 5, 0, 10, 1, 3, 6, 7]

test = random.sample(range(0,10), 11)

报错 ValueError: Sample larger than population or is negative

test = random.sample(range(10), 11)

报错 ValueError: Sample larger than population or is negative

;