python - 需要有关随机字符串生成 python 的帮助
问题描述
我想要的是生成这种特定格式的字符串: l+l+l+d+d+d+d+l+d+l+l+l+l+d+d+d+d+l+d +l+l+l+l+d+d+d+d+l+d+l+l+l+l+d+d+d+d+l+d+l 每个 l 和 d 是不同的字符串或数字。问题是当我尝试生成时,整个事情是相同的值/字符串。但我想要它不同。这是一个例子: 我得到了什么: lll9999l9llll9999l9llll9999l9llll9999l9l 我需要什么: bfb7491w3anfr4530x2zzbg9891u2rbep8421m9s
def id_gen():
l = random.choice(string.ascii_lowercase)
d = random.choice(string.digits)
id = l+l+l+d+d+d+d+l+d+l+l+l+l+d+d+d+d+l+d+l+l+l+l+d+d+d+d+l+d+l+l+l+l+d+d+d+d+l+d+l
print(id)
结果:
lll9999l9llll9999l9llll9999l9llll9999l9l
我需要这个来产生不同的东西:)
解决方案
这似乎对我有用:
def gen_id() :
pattern = 'lllddddldllllddddldllllddddldllllddddldl'
digits = [random.choice(string.digits) for i in range(len(pattern))]
letters = [random.choice(string.ascii_lowercase) for i in range(len(pattern))]
return ''.join( digits[i] if pattern[i] == 'd' else letters[i] for i in range(len(pattern)) )
测试:
>>> gen_id()
'lnx1066k0hnrd5409d1nhgo1254t6rzyw5165f8v'
>>> gen_id()
'sbc7119f4ythd8845i1afay1900f4wjcv0659b4e'
>>> gen_id()
'yan6228r0nebj5097y7jnwh7065s7osra0391j5f'
>>>
看起来很不一样...拜托,别忘了import string, random
=)
推荐阅读
- machine-learning - 机器学习中的“适合”是什么?
- c# - 在 ASP.NET Core 3.1 MVC 中将模型传递到控制器操作时出现 415 状态
- python - File.write 不允许我添加到文本文件?
- java - 使用 Gradle 隐藏 API 密钥
- android - Kotlin Volley 请求作为全局变量
- css - 使用边框图像的 CSS 正文边框
- node.js - docker内部的Nodejs语法错误但不在外部
- json - 如何在 VS Code 自定义片段 JSON 文件中包含带有 // 的 https 链接?
- java - 从 Google Drive 的深层嵌套目录中读取文件
- python - Carrousel 仅显示第一个帖子的图像,而不显示其他帖子的图像