如何在Python中生成不重复的随机数?
在本文中,我们将展示如何在Python中生成不重复的随机数。以下是完成此任务的方法:
- 使用randint()和append()函数
-
使用给定列表的random.sample()方法
-
使用数值范围的random.sample()方法
-
使用random.choices()方法
阅读更多:Python 教程
使用randint()和append()函数
算法(步骤)
以下是执行所需任务的算法/步骤:
- 使用import关键字导入random模块。
-
创建一个空列表,这是生成随机数的结果列表。
-
使用for循环遍历循环15次。
-
使用random模块的randint()函数(返回指定范围内的随机数)在指定范围内生成随机数,即从1到100。
-
使用if条件语句,并使用not和in操作符检查生成的随机数是否不在结果随机列表中。
-
如果条件为真,则使用append()函数(将元素添加到列表末尾)将随机数附加到结果列表。
-
打印生成的随机数列表。
示例
以下程序返回不重复的随机数,使用randint()和append()函数:
输出
执行以上程序,将生成以下输出:
使用给定列表的random.sample()方法
random.sample()方法返回一个包含从序列中随机选择的元素数的列表。
语法
参数
- sequence(必需) − 任何序列,如列表、元组等。
k(可选) −返回列表的长度,作为整数。
算法(步骤)
以下是执行所需任务的算法/步骤:
- 使用import关键字导入random模块。
-
创建一个变量来存储输入列表。
-
使用set()函数(返回可迭代对象的所有不同项并将可迭代对象转换为集合),从输入列表中删除重复的元素。
-
使用list()函数(将序列/可迭代对象转换为列表)将上述集合转换为列表。现在列表仅包含唯一元素。
-
通过将包含唯一项的列表和k值作为参数传递给sample()函数打印从列表中随机选择的k(这里是4)个不重复的数字。
示例
以下程序使用random.sample()函数返回4个非重复的随机数:
输出
执行上述程序将生成以下输出:
范围内使用random.sample()方法的随机数
算法(步骤)
按照以下步骤执行所需任务的算法:
- 使用import关键字导入random模块。
-
使用range()函数获取指定范围内的数字,即1到100(range()函数返回从0开始以1(默认值)递增,并在给定数字之前停止的数字序列)。
-
通过将给定范围的数字列表和k值作为参数传递给sample()函数,从列表中随机选择k(这里是4)个不重复的数字并打印它们。
示例
以下程序使用random.sample()函数返回4个非重复的随机数:
输出
执行上述程序后,将生成以下输出−
使用random.choices()方法
random模块包含 random.choices() 方法。它很有用,可以从列表中选择多个项或从特定序列中选择单个项。
语法
参数
- sequence(必需) − 任何序列,如列表,元组等
-
k(可选) − 作为整数返回列表的长度
示例
以下程序使用random.choices()函数返回 4 个不重复的随机数−
输出
执行上述程序后,将生成以下输出−
结论
在本教程中,我们学习了如何使用四种不同的方法在Python中生成不重复的数字。我们学习了如何生成不在列表中的不重复数字。我们学习了如何确定是否包含一个元素在列表中,以生成不重复的整数。