gpt4 book ai didi

python - 你能创建一个 python 生成器来以随机顺序提供一个范围内的值而不重复吗?

转载 作者:行者123 更新时间:2023-12-01 22:52:12 26 4
gpt4 key购买 nike

我不确定这是否是不可能的问题之一,在我看来它似乎应该是可能的。 编辑 - 我们或多或少同意这是不可能的

给定一个由两个整数指定的范围(即 n1 ... n2),是否可以创建一个 python 生成器,该生成器从该范围内产生一个随机整数,无需重复且无需加载列表选项存入内存(即 list(range(n1, n2)))。

预期的用法是这样的:

def random_range_generator(n1, n2):
...

gen = random_range_generator(1, 6)

for n in gen:
print(n)

输出:

4
1
5
3
2

最佳答案

这很简单,只需将其保存在内存中即可。否则在我看来是不可能的:

import random

def random_range_generator(n1, n2):
r = list(range(n1, n2))
random.shuffle(r)
yield from r

gen = random_range_generator(1, 6)

for n in gen:
print(n)

关于python - 你能创建一个 python 生成器来以随机顺序提供一个范围内的值而不重复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74127611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com