-2

This is my code so far:

a_string = 'abcd'
final_list = [[]]
length = len(a_string)
groups =[list(a_string)] * 3
for i in groups:
    final_list = [x+[y] for x in final_list for y in i]
permutations = [''.join(item) for item in final_list]
print(permutations)

It does what i want it to do but I need help to format the output. At the moment the output is generated like this:

['aaa', 'aab', 'aac', 'aad', 'aba', 'abb', 'abc', 'abd', 'aca', 'acb', 'acc', 'acd', 'ada

but what i want it to look like it this:

aaa
aab
aac
aad
...

so separate lines for each result and no quotation marks or commas.

What should I change?

tripleee
  • 175,061
  • 34
  • 275
  • 318

1 Answers1

0

You basically want to print each item in the permutations instead of printing permutations itself which is a list -

a_string = 'abcd'
final_list = [[]]
length = len(a_string)
groups =[list(a_string)] * 3
for i in groups:
    final_list = [x+[y] for x in final_list for y in i]
permutations = [''.join(item) for item in final_list]
for i in permutations:
    print(i)

output -

aaa
aab
aac
aad
aba
abb
abc
abd
aca
acb
acc
acd
ada
adb
adc
add
baa
bab
bac
bad
bba
bbb
bbc
bbd
bca
bcb
bcc
bcd
bda
bdb
bdc
bdd
caa
cab
cac
cad
cba
cbb
cbc
cbd
cca
ccb
ccc
ccd
cda
cdb
cdc
cdd
daa
dab
dac
dad
dba
dbb
dbc
dbd
dca
dcb
dcc
dcd
dda
ddb
ddc
ddd
Max
  • 668
  • 4
  • 13