Random 在指定范围内随机生成数字,但条件是两个数字不相同

Random 在指定范围内随机生成数字,但条件是两个数字不相同,random,Random,我想生成指定范围内的随机数,但条件是生成的两个数不相同。 我使用以下代码生成随机数 A=randi(100,1,39) 这会给我一组介于1到100之间的39个数字。它还生成相同的数字。i、 在下面一组数字44中,e出现两次 A= 第1列至第25列 78 49 44 45 31 51 52 82 80 65 38 82 54 36 94 88 56 63 59 21 31

我想生成指定范围内的随机数,但条件是生成的两个数不相同。 我使用以下代码生成随机数

 A=randi(100,1,39)
这会给我一组介于1到100之间的39个数字。它还生成相同的数字。i、 在下面一组数字44中,e出现两次

A=

第1列至第25列

78    49    44    45    31    51    52    82    80    65    38    82    54    36    94    88    56    63    59    21    31    48    24    85    20
第26列至第39列

23    18    23    **44**    32    93    44    19    91    98    **44**    12    26    41

请建议我生成一个随机数,但任何生成的数都不会在生成的数集中重复。

random.sample
为您提供一个随机样本集,其中不包含重复项

>>> from random import sample
>>> sample(range(1, 100), 39)
[7, 80, 81, 6, 79, 83, 62, 54, 89, 55, 34, 63, 31, 95, 38, 48, 46, 37, 26, 1, 2, 60, 86, 98, 13, 75, 85, 67, 10, 70, 72, 47, 20, 61, 76, 74, 15, 25, 30]

“随机数,但任何生成的数都不会在生成的数集中重复”-这不是随机数。有一个机会(一个小的,但仍然)你得到相同的数字39次。试着做些研究。实际上,您似乎想在您想要支持的范围内生成一个数字列表,然后将该列表洗牌,然后从该列表中删除一定数量的数字。您使用的语言是什么?@Byte Commander MatlabCorrect,以防OP使用Python 3。对于Python2,您应该使用
xrange
而不是
range
,以获得更好的性能和内存消耗。