此人真菜 2021-11-30 15:04 采纳率: 75.8%
浏览 33
已结题

如何将输出字符串所有的排列组合

"""
例如我一个字符串
string="aabb"
如何输出所有的排列结果,比如
list=['aabb','abba','bbaa','abab','baab','baba']
"""

  • 写回答

2条回答 默认 最新

  • 关注
    
    def str_rank_combination(s=""):
        """输入一个字符串,返回一个由这些字符组成的排列组合(递归思想)"""
        if len(s) <= 1:
            return [s]
        else:
            str_list = []
            for i in range(len(s)):
                for tmp_str in str_rank_combination(s[:i] + s[i + 1:]):
                    str_list.append(s[i] + tmp_str)
            return str_list
    
    
    if __name__ == "__main__":
        s = 'aabb'
        str_list = str_rank_combination(s)
        print("排列组合数明细:%s" % list(set(str_list)))
    

    img


    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月30日

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?