Python生成指定长度随机字符串的两种实现方式

听雨眠
听雨眠
发布时间:2026-10-13| 5人浏览过
原创

本文介绍在Python中生成指定长度随机字符串的两种方法。第一种通过手动定义字符集并结合random.randint实现;第二种利用string模块获取数字和字母,配合列表生成式与join方法,代码更为简洁。文中包含完整代码示例及测试结果,适用于需要生成唯一标识或临时密码等场景。

方法一:手动定义字符集与random.randint实现

方法一:

首先定义一个函数,接收参数指定所需生成的随机字符串长度。利用random.randint(a, b)函数获取随机整数,具体实现代码如下:

方法一完整代码示例


def generate_random_str(randomlength=16):
  """
  生成一个指定长度的随机字符串
  """
  random_str = ''
  base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
  length = len(base_str) - 1
  for i in range(randomlength):
    random_str += base_str[random.randint(0, length)]
  return random_str

进行功能测试:


f = generate_random_str(24)
print (f)

运行后得到的结果为:

gSY28gHCpTiL1yH0hO0uslM2

方法二:利用string模块与列表生成式实现

方法二:

在方法一中,我们通过手动罗列数字和字母字符集来随机选取,这种方式虽然直观但不够Pythonic。方法二则利用string模块直接获取数字和字母,并通过列表生成式构建结果,具体实现如下:

方法二完整代码示例


import random
import string

def generate_random_str(randomlength=16):
  """
  生成一个指定长度的随机字符串,其中
  string.digits=0123456789
  string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  """
  str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)]
  random_str = ''.join(str_list)
  return random_str

进行功能测试:


f = generate_random_str(24)
print (f)

运行后得到的结果为:

aCIyZ9a06gN6UlBCmrjDfX4a

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。