此人真菜 2021-11-30 07: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月7日
  • 已采纳回答 11月30日
  • 创建了问题 11月30日