python - 如何使用给定的函数来传递许多字符串
问题描述
我有我的函数 randStr ,它会吐出一个带有 N 个字符的随机字符串。
def randStr(chars = string.ascii_uppercase + string.digits, N=4):
return ''.join(random.choice(chars) for _ in range(N))
如何使它返回 1000 个这些随机且唯一的小字符串?
解决方案
(编辑:添加唯一性检查)
您可以使用 awhile-loop
进行迭代,直到获得 1000 个唯一单词。请注意,输入字符串必须至少为 8 个字符长。使用排列计算器进行检查,7P4=840 和 8P4=1680,9P4 起大于此。
import string
import random
def randStr(chars = string.ascii_uppercase + string.digits, N=4):
return ''.join(random.choice(chars) for _ in range(N))
unique_words = []
while len(unique_words) < 1000:
result = randStr('abcdefgh')
if result not in unique_words:
unique_words.append(result)
print(result, end=', ')
print(len(unique_words))
输出:
cfae, gbca, fgfe, bdhg, decd, gcha, ddgc, babd, bggb, eghe, eeca, ebch, fbec, bgbe, gbbc, dgda, efec, hccd, bgfh, gdbf, ecac, edhd, cfdg, eacf, dgaa, heeb,
...
egbb, cbed, eefg, gdec, dgcg, cgag, fadc, effe, dahg, fhdb, 1000
推荐阅读
- javascript - 清除本地存储在 Angular 7 中不起作用?
- oracle - 如何为 Oracle 云安装 PowerShell 模块
- spring - Spring Security 最大会话超时不起作用
- c++ - 为什么在 C++20 中没有将 std::accumulate 设为 constexpr?
- upgrade - 在storm-eventhub jar中需要azure-eventhub jar升级
- java - 如何在班级级别重复 JUnit5 测试?
- java - 作为一个库:如何提供默认的 JCache 实现
- python - 使用 Python 生成随机 Json 数据并存储在变量中
- php - Safari浏览器中的codeigniter会话问题
- java - 按钮 onClickListener 和 textView.setText 在 AlertDialog 中不起作用