python 在指定范围内随机生成不重复的n个数实例

针对指定范围内随机生成不重复的n个数的问题,下面提供几种实现方法。

方法一:使用 random.sample()

Python 的 random 模块提供了一个 sample() 方法,可以在指定范围内随机生成不重复的 n 个数。

import random

start_num = 1   # 范围起始值
end_num = 100   # 范围终止值
n = 5           # 随机生成的数字个数

num_list = random.sample(range(start_num, end_num + 1), n)   # 生成 n 个不重复的随机数
print(num_list)

运行结果为:

[60, 16, 63, 74, 58]

上述代码中,range() 函数生成了从起始值到终止值的整数序列,加上 +1 是因为 range() 函数是左闭右开的,即不包含终止值,最终生成的序列包含起始值和终止值。接着,使用 random.sample() 函数在这个序列中生成了 n 个不重复的随机数。

方法二:使用 numpy.random.choice()

除了使用 random.sample() 方法外,还可以使用 NumPy 库中的 random.choice() 方法生成不重复的随机数序列。

import numpy as np

start_num = 1   # 范围起始值
end_num = 100   # 范围终止值
n = 5           # 随机生成的数字个数

num_list = np.random.choice(range(start_num, end_num + 1), n, replace=False)   # 生成 n 个不重复的随机数
print(num_list)

运行结果为:

[90 64 66  1 86]

上述代码中,np.random.choice() 函数的 replace 参数设置为 False,表示生成的数字不重复。

示例说明

假设现在需要随机生成包含大小写字母和数字在内的验证码,需要在这个范围内随机生成 8 个不重复的字符,可以使用如下代码:

import random
import string

chars = string.ascii_letters + string.digits  # 验证码范围大小写字母和数字
n = 8                                        # 随机生成字符的个数

code = ''.join(random.sample(chars, n))  # 随机生成 n 个不重复的字符
print(code)

运行结果为:

51O8jluT

在这个示例中,首先使用了 string.ascii_letters 和 string.digits 来定义验证码的范围(大小写字母和数字),然后使用 random.sample() 方法从此范围中随机生成了 8 个不重复字符,最后使用 ''.join() 将列表转化成字符串。这样就完成了一个含有大小写字母和数字的验证码的生成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 在指定范围内随机生成不重复的n个数实例 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 使用Python制作一个数据预处理小工具(多种操作一键完成)

    下面是使用Python制作一个数据预处理小工具的完整攻略。 主要思路 该小工具的主要目的是为了在进行数据分析时,快速、方便地完成数据预处理。主要实现以下功能: 1.读取指定文件夹中的.csv数据文件; 2.对数据进行清洗,包括去除空值、去除重复值、去除异常值等; 3.对数据进行转换,包括将日期型数据转换为日期格式、将字符串格式转换为数值格式等; 4.对数据进…

    python 2023年5月13日
    00
  • Python numpy.transpose使用详解

    非常感谢您对于Python numpy.transpose使用的关注。下面是详细讲解的攻略。 Python numpy.transpose使用详解 概述 numpy.transpose() 函数用于对换数组的维度。对于一维数组,它就是将原数组翻转。对于二维数组,就是执行矩阵转置的操作。更高维度的数组操作,是基于这两个维度的操作,多次使用transpose()…

    python 2023年5月18日
    00
  • Python抓取网页图片难点分析

    Python抓取网页图片难点分析 1. 资源定位 要抓取网页中的图片,首先需要定位图片所在的资源路径,通常包括以下两种方式: 1.1 直接获取源代码中的图片链接 在页面源代码中,图片资源通常是通过<img>标签引用的,其路径可以通过标签的src属性获取。通过requests库获取网页源代码并对其进行解析,即可获取页面中所有图片的资源路径。 示例代…

    python 2023年6月3日
    00
  • Python中反转二维数组的行和列问题

    Python中反转二维数组的行和列问题需要理解矩阵的基本概念并掌握Python列表的特点和操作。 1. 矩阵的转置 矩阵转置是指矩阵的行列互换。在Python中,可以使用嵌套的列表表示矩阵,例如: matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 以上代码定义了一个$3 \times 3$的矩阵,它可以看作是一个包含3个子…

    python 2023年6月6日
    00
  • python获取文件后缀名及批量更新目录下文件后缀名的方法

    下面是详细讲解“Python获取文件后缀名及批量更新目录下文件后缀名的方法”的完整攻略。 需求分析 在进行文件操作时,经常需要获取文件的后缀名,这样才能区分出不同类型的文件,并进行相应的操作。同时,有时我们也需要批量更改一个目录下所有文件的后缀名。本文将详细讲解这两个需求的实现方法。 获取文件后缀名 我们可以使用Python内置模块os和os.path来获取…

    python 2023年6月5日
    00
  • Django中数据在前后端传递的方式之表单、JSON与ajax

    Django是一款使用Python语言开发的极具人气的Web框架,它提供了一系列的数据在前后端之间传递的方式,常用的方式包括表单、JSON与ajax。本文将为大家详细讲解这三种方式的用法和区别。 表单 表单是Web开发中最常用的数据收集和传递方式之一,它能够将用户输入的数据收集,并传递给后端。在Django中,我们可以通过HTML表单实现数据在前后端的传递。…

    python 2023年6月3日
    00
  • python中argparse模块用法实例详解

    Python中argparse模块用法实例详解 argparse是Python标准库中的一个命令行解析模块,可以帮助开发者轻松地编写命令行接口。以下是Python中argparse模块用法实例详解: 基本用法 以下是一个基本的示例,演示如何使用argparse模块解析命令行参数: import argparse parser = argparse.Argum…

    python 2023年5月14日
    00
  • python+opencv实现论文插图局部放大并拼接效果

    下面详细讲解“python+opencv实现论文插图局部放大并拼接效果”的完整攻略。 1. 准备工作 首先,需要安装Python和OpenCV库。可以通过pip或conda来安装OpenCV库: pip install opencv-python 或者 conda install opencv 2. 图像放大与拼接 对于图像局部放大与拼接的实现,可分为以下几…

    python 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部