【发布时间】:2019-11-06 16:44:09
【问题描述】:
我已经尝试过这种方法,但它出错了。那么,有什么想法可以解决这个问题吗?
def swap(seq, i , j):
temp = 0
temp = seq[i]
seq[i] = seq[j]
seq[j] = temp
def all_possible_strings(seq):
list_of_results = []
for i in range(len(seq)):
for j in range(len(seq)):
copy_of_seq = seq[:]
swap(copy_of_seq, i ,j)
list_of_results.append("".join(copy_of_seq))
return list_of_results
这是输出: ['abc', 'bac', 'cba', 'bac', 'abc', 'acb', 'cba', 'acb', 'abc']
【问题讨论】:
-
输出应该是什么?我建议您阅读 this article 以获取有关调试代码的提示。
-
这应该是输出:['abc', 'acb', 'bac', 'bca', 'cab', 'cba']
标签: python string algorithm permutation