m0_67807087 2022-03-21 11:31 采纳率: 75%
浏览 51
已结题

Python怎么实现在字符串中选择部分字符进行全排列

在26个大写英文字母中,取N个字母进行排列,输出所有排列的可能,N由用户给定。

例如,N若等于3,则会有26×25×24中可能性,程序输出需要罗列每一种可能性ABC,XYZ,ABZ,等等。

  • 写回答

4条回答 默认 最新

  • Neo很努力 2022-03-21 12:05
    关注

    承邀,楼主的意思应该是全组合,按照递归思想可建立如下程序:

    def alphabet(iterable, r):
        pool = list(map(str, iterable))
        n = len(pool)
        if r > n:
            return
        indices = list(range(r))
        yield list(pool[i] for i in indices)
        while True:
            for i in reversed(range(r)):
                if indices[i] != i + n - r:
                    break
            else:
                return
            indices[i] += 1
            for j in range(i + 1, r):
                indices[j] = indices[j - 1] + 1
            yield list(pool[i] for i in indices)
    
    
    
    alphabet_list=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
    print(list(alphabet(alphabet_list, 3)))    #N可以自己设置,这里输入3
    
    

    结果如下:

    img

    望采纳!

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

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100