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

如何编写Python代码输出给定字符串可生成的所有不重复字符串

实现代码

你可以借助Python标准库itertools.permutations生成所有排列,再通过集合自动去重得到符合要求的结果,代码如下:

import itertools

def get_unique_permutations(s: str) -> list[str]:
    result = set()
    # 遍历所有可能的字符串长度,范围为1到原字符串总长度
    for length in range(1, len(s)+1):
        # 生成对应长度的所有排列组合
        for perm in itertools.permutations(s, length):
            # 将排列元组转为字符串存入集合完成去重
            result.add(''.join(perm))
    # 转为列表返回,可按需添加排序逻辑调整输出顺序
    return list(result)
使用示例
# 测试输入为"AB"
print(get_unique_permutations("AB"))

输出结果和要求完全匹配:

['A', 'B', 'AB', 'BA']

补充说明

如果输入字符串存在重复字符,该实现也会自动过滤重复的排列结果,比如输入"AAB"时,不会返回重复的"AA"等内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:36:02