如何创建单词表矩阵

2024-06-26 13:33:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个列表的串联的基础上的一个词列表。说出最多10个字符串并创建它们的每个组合。例如,以下列表:

asdf 
1234 
jkl;

将创建:

asdf
1234
jkl;
asdf1234
asdf1234jkl;
1234jkl;asdf
etc.

这在Python中是可能的吗?我找过了,找不到这个。我应该寻找什么?你知道吗


Tags: 字符串列表etcjkl基础asdfasdf1234asdf1234jkl
1条回答
网友
1楼 · 发布于 2024-06-26 13:33:31

Python解决方案

您可以使用列表理解来迭代来自itertools.permutations的结果,并使用str.join

from itertools import permutations

lst = ['asdf', '1234', 'jkl;']

res = [''.join(p) for i in range(1, len(lst)+1) for p in permutations(lst, i)]

print(res)

['asdf',
 '1234',
 'jkl;',
 'asdf1234',
 'asdfjkl;',
 '1234asdf',
 '1234jkl;',
 'jkl;asdf',
 'jkl;1234',
 'asdf1234jkl;',
 'asdfjkl;1234',
 '1234asdfjkl;',
 '1234jkl;asdf',
 'jkl;asdf1234',
 'jkl;1234asdf']

相关问题 更多 >