首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成少量字符的随机字符串

问生成少量字符的随机字符串
EN

Stack Overflow用户
提问于 2014-02-10 00:47:34
回答 1查看 81关注 0票数 0

我想用Python生成唯一的随机字符串,所以我正在利用uuid4。

代码语言:javascript
复制
from uuid import uuid4

def generate_random_string():
    return uuid4().hex

问题是,它生成字符串的字符太多。我想出的一个可能的解决方案是将字符串从基数16转换为基数62 (数字+小写/大写字母)。它可以工作,但结果仍然有太多的字符(更准确地说是22个字符)。6到10个字符之间的东西会很棒,但我担心在将来的某个时候,它们可能并不是独一无二的。有什么办法可以克服这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-10 00:55:20

但是,正如注释中所提到的那样,这可以控制生成字符串的长度,如果您希望在未来减少冲突的机会,则需要使用更多的字符。虽然这看起来不太可能。

代码语言:javascript
复制
from random import sample
from string import digits, ascii_letters 

chars = digits + ascii_letters
#'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

gen_str = sample(chars, 10)

示例输出:

代码语言:javascript
复制
['2', '8', 'G', 'o', 'U', 'e', 'K', 'f', 'w', '7']

>>> ''.join(gen_str)

'28GoUeKfw7'

随机模信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21667300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档