私はpythonが初めてです。
コンマで区切られた文字列があります。「a、b、c、d」のように
要素を分離する必要があり、コンマで区切られた要素のすべての可能な配置を見つける必要があります。
ありがとう
私はpythonが初めてです。
コンマで区切られた文字列があります。「a、b、c、d」のように
要素を分離する必要があり、コンマで区切られた要素のすべての可能な配置を見つける必要があります。
ありがとう
itertools モジュールの順列を使用できます
>>> a = 'aaa,bbb,ccc'
>>> b = a.split(',')
>>> import itertools
>>> list(itertools.permutations(b))
>>> [('aaa', 'bbb', 'ccc'), ('aaa', 'ccc', 'bbb'), ('bbb', 'aaa', 'ccc'), ('bbb', 'c
cc', 'aaa'), ('ccc', 'aaa', 'bbb'), ('ccc', 'bbb', 'aaa')]
お探しitertools.permutations()
ですか?
>>> import itertools
>>> for elem in itertools.permutations(testStr.split(',')):
print ",".join(elem)
a,b,c,d
a,b,d,c
a,c,b,d
a,c,d,b
a,d,b,c
a,d,c,b
b,a,c,d
...
itertoolsは最高です
これが従来の再帰手法です
def permu(s, e=''):
if len(s) == 0: print ",".join([ i for i in e])
else:
for i in range(len(s)):
permu(s[0:i] + s[i+1:], e+s[i])
str="a,b,c,d"
permu("".join(str.split(',')))