You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python随机字符串生成器生成不重复的字符串

解决随机字符串重复问题

要确保生成的字符串彼此不重复,你可以用一个集合来记录已经生成过的字符串——集合的特性是自动去重且查询效率极高,非常适合这个场景。

修改后的代码如下:

import random
import string

target = input("What's your text? ").lower()
target_len = len(target)
generated = set()  # 存储已生成的字符串,避免重复

while True:
    letters = string.ascii_lowercase
    result_str = ''.join(random.choice(letters) for _ in range(target_len))
    
    # 检查是否已生成过,是则跳过本次循环重新生成
    if result_str in generated:
        continue
    
    # 未重复则加入集合并打印
    generated.add(result_str)
    print(result_str)
    
    # 匹配目标字符串时终止循环
    if result_str == target:
        break

关键说明:

  • 使用set()存储已生成的字符串,每次生成新字符串后先检查是否在集合中,避免重复输出。
  • 集合的in操作时间复杂度为O(1),即使生成大量字符串也不会明显降低效率。
  • 移除了冗余的repeat变量,直接用while True配合break终止循环,代码更简洁。

内容的提问来源于stack exchange,提问作者ArthurIsNo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:50:31