基于字典的 Python 排列



>我有一个字典保存为TXT文件,每行包含一个单词。我想做的是通过连接它们来生成这些单词的所有排列(没有空格,没有逗号,什么都没有,纯连接(。

例:

亚历克斯

鲍比

克里斯

输出:亚历克斯亚历克斯,亚历克斯鲍比,亚历克斯克里斯,鲍比亚历克斯,鲍比波比,鲍比克里斯,克里斯亚历克斯,克里斯鲍比,克里斯克里斯

每个单独的排列将用于程序的其余部分。

直到现在我有这个:

with open('file.txt','rb') as text:
for entry in text.readlines():
variable = entry

这允许我获取每一行并存储在一个变量中,以便我以后可以使用。

但是我无法弄清楚这些排列...有人可以帮助我吗?

谢谢!

with open('file.txt','rb') as f:
lines = [line.rstrip() for line in f]
all_permutations = [''.join(x) for x in itertools.permutations(lines)]

给定一个文件"file.txt",其名称如示例中所示

亚历克斯

鲍比

克里斯

words = []
with open('file.txt', "r") as text:
for line in text:
words.extend(line.split())

print(words)

输出:

['Alex', 'Boby', 'Cris']

现在将列表转换为您的排列

permutations = [i+j for i in words for j in words]
print(permutations)

输出:

['AlexAlex', 'AlexBoby', 'AlexCris', 'BobyAlex', 'BobyBoby', 'BobyCris', 'CrisAlex', 'CrisBoby', 'CrisCris']

最新更新