获取字符串大小 r 的所有排列的 Python 程序
假设我们有一个字符串s和一个数字r。我们必须显示s中r个字符的所有排列。我们有permutations()获取所有排列的功能。这个函数存在于itertools库中。
因此,如果输入类似于s="HELLO"r=3,那么输出将是
>['HEL', 'HEL', 'HEO', 'HLE', 'HLL', 'HLO', 'HLE', 'HLL', 'HLO', 'HOE', 'HOL', 'HOL', 'EHL', 'EHL', 'EHO', 'ELH', 'ELL', 'ELO', 'ELH', 'ELL','ELO', 'EOH', 'EOL', 'EOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'OHE', 'OHL', 'OHL', 'OEH', 'OEL', 'OEL', 'OLH', 'OLE', 'OLL', 'OLH', 'OLE', 'OLL']
示例
让我们看下面的实现来更好地理解
from itertools import permutations
def solve(s, r):
vals=list(permutations(s,r))
res=[]
for x in vals:
res.append(''.join(x))
return res
s = "HELLO"
r = 3
print(solve(s, r))输入
"HELLO", 2输出结果
['HEL', 'HEL', 'HEO', 'HLE', 'HLL', 'HLO', 'HLE', 'HLL', 'HLO', 'HOE', 'HOL', 'HOL', 'EHL', 'EHL', 'EHO', 'ELH', 'ELL', 'ELO', 'ELH', 'ELL', 'ELO', 'EOH', 'EOL', 'EOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'LHE', 'LHL', 'LHO', 'LEH', 'LEL', 'LEO', 'LLH', 'LLE', 'LLO', 'LOH', 'LOE', 'LOL', 'OHE', 'OHL', 'OHL', 'OEH', 'OEL', 'OEL', 'OLH', 'OLE', 'OLL', 'OLH', 'OLE', 'OLL']
热门推荐
10 男朋友祝福语简短新年
11 新婚过年祝福语大全简短
12 职场离职文案祝福语简短
13 学院祝福语女生大全简短
14 新年祝福语简短给孩子
15 老年 生日祝福语大全简短
16 老爸生日暴富祝福语简短
17 老板端午简短祝福语大全
18 入伙英文祝福语大全简短