Python随机数-使用新数字之前的唯一数字生成器

2024-03-28 23:53:19 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一些0-9的随机数。我想找到一种方法来得到值0-9,但是我不想重复另一个数字,直到所有其他值被使用了相同的次数。你知道吗

例4,6,5,3,0,1,9,2,7,8,(随机数,因为我每隔一个数用一次)

有什么有效的方法吗?你知道吗


Tags: 方法数字次数数用
2条回答

反复洗牌所需的数字范围并将其串联:

import random

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result = []

for i in range(100):
    random.shuffle(numbers)
    result.extend(numbers)

print(result)

或:

import random
import itertools

def generate_numbers():
    numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    while True:
        random.shuffle(numbers)
        yield from numbers

print(list(itertools.islice(generate_numbers(), 50)))

相关问题 更多 >