Python 3.x 列表中的Python置换字符串

Python 3.x 列表中的Python置换字符串,python-3.x,Python 3.x,我有以下包含字符串的列表 data=[] data.append('BBBB') data.append('AAAA') data.append('CCCC') 如何使代码打印以下结果?每行不能有重复的值,如BBBBBBBB BBBB AAAA CCCC BBBBAAAA BBBBCCCC AAAABBBB ... snippet ... 这段代码可能会帮助你 from itertools import permutations as per input_nos = int(input('

我有以下包含字符串的列表

data=[]
data.append('BBBB')
data.append('AAAA')
data.append('CCCC')
如何使代码打印以下结果?每行不能有重复的值,如
BBBBBBBB

BBBB
AAAA
CCCC
BBBBAAAA
BBBBCCCC
AAAABBBB
... snippet ...

这段代码可能会帮助你

from itertools import permutations as per

input_nos = int(input('the number of strings'))   #for specifying the input iterations

strings = []

for i in range(input_nos):
    strings.append(input())

strings_per = per(strings, input_nos -1 )  # as specified

for i in strings_per:
    print(''.join(i))

以下是一个单线解决方案:

>>> from itertools import chain, permutations
>>> print(*chain(*(map("".join, permutations(data, i)) for i in range(1, 3))), sep="\n")
BBBB
AAAA
CCCC
BBBBAAAA
BBBBCCCC
AAAABBBB
AAAACCCC
CCCCBBBB
CCCCAAAA
根据您提供的信息,这应该可以完成您的工作

strings_list = ['AAAA', 'BBBB', 'CCCC', 'DDDD', 'EEEE']

def permute_string(a):
    b = []
    b.extend(a)
    for i in range(len(a)-1):
        for j in range(i+1, len(a)):
            b.append(a[i] + a[j])
    return b

permute_string(strings_list)