Skip to main content
 首页 » 编程设计

python之使用可变长度字符串的可变长度列表,如何创建所有组合

2025年05月04日22开发

在 python 3 中,我有一个可变长度列表,其中列表的每个元素都是一个可变长度字符串。像这样

['TO', 'G', 'ZDO', 'DEO', 'SGT', 'D', 'Z', 'FT', 'OV'] 

并且我想遍历所有可能的单词组合,其中构成单词的字母来自列表中的字符串,并且单词的长度与列表的长度相同。所以像这样

TGZDSDZFO 
TGZDSDZFV 
TGZDSDZTO 
... 
OGOOTDZTO 
OGOOTDZTV 

我无法为 n 大小的列表提出通用解决方案。

请您参考如下方法:

>>> (''.join(s) for s in itertools.product(*['TO', 'G', 'ZDO', 'DEO', 'SGT', 'D', 'Z', 'FT', 'OV'])) 
<generator object <genexpr> at 0x7f2a46468f00> 
>>> # to demonstrate: 
...  
>>> list(itertools.islice((''.join(s) for s in itertools.product(*['TO', 'G', 'ZDO', 'DEO', 'SGT', 'D', 'Z', 'FT', 'OV'])), 3)) 
['TGZDSDZFO', 'TGZDSDZFV', 'TGZDSDZTO']