【发布时间】:2021-07-28 23:58:19
【问题描述】:
我有一个 for 循环,在每个循环中,我从一个恒定范围内选择一个随机数。但是,我从不想获得重复的值。这就是我现在的做法:
import random
my_range = 1000
chosen = [81, 944, 576, 618, 333, 350, 579, 774, 86, 511, 619, 552, 804, 44, 894, 408, 242]
for i in range(500):
rand_ind = random.randint(0,1000)
while rand_ind in chosen:
rand_ind = random.randint(0,my_range)
chosen.append(rand_ind)
print(chosen)
有没有什么方法可以在一行中或更有效地做到这一点?
【问题讨论】:
-
如果
chosen是一个集合而不是一个列表会更快。 -
您可以制作数字列表 - 范围(1000),获取随机项目并将其从列表中删除。 codespeedy.com/delete-random-item-from-a-list-in-python
标签: python python-3.x random