使用itertools.permutations()缺少排列

问题描述 投票:0回答:1

我在https://www.hackerrank.com/challenges/itertools-permutations/problem上解决了Hackerrank上的itertools.permutations()代码,我提出了以下非常简单的代码:

from itertools import permutations

to_perm, length = raw_input().split()
length = int(length)

res = permutations(to_perm, length)
new_res = []

for i in res:
    new_res = sorted(res)

for i in new_res:
    print "".join(i)

这是我得到的输出:

AC
AH
AK
CA
CH
CK
HC
HK
KA
KC
KH

这是我的预期输出:

AC
AH
AK
CA
CH
CK
HA
HC
HK
KA
KC
KH

你会注意到我错过了'HA'的排列。

我的问题是:为什么我错过了这个单一的排列?我该如何解决这个问题?

python-2.7 permutation itertools
1个回答
0
投票

我不确定你的代码中HA会发生什么。此代码输出正确的结果:

from itertools import permutations

to_perm, length = 'HACK', 2

res = permutations(to_perm, length)

res = sorted(res)

for perm in res:
    print ''.join(perm)

输出

AC
AH
AK
CA
CH
CK
HA
HC
HK
KA
KC
KH
© www.soinside.com 2019 - 2024. All rights reserved.