如何在python中打印嵌套列表的所有可能性?

2024-03-29 08:43:15 发布

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

这是我的名单:

pos = [['det'], ['noun', 'adj'], ['noun'], ['vb'], ['det'], ['vb', 'noun', 'adj']]

或者

^{pr2}$

我正在打印所有的组合:

det noun noun vb det vb
det adj noun vb det vb
det noun noun vb det noun
det adj noun vb det noun
det noun noun vb det adj
det adj noun vb det adj

我应该使用递归函数吗?我试过了,但没有结果。在

Itertools(排列、产品、组合)对我没有帮助。在

你能帮帮我吗?在


Tags: pos产品nounvbdetitertools名单adj
2条回答

“itertools”确实有助于:

for i in itertools.product(*pos): print i
('det', 'noun', 'noun', 'vb', 'det', 'vb')
('det', 'noun', 'noun', 'vb', 'det', 'noun')
('det', 'noun', 'noun', 'vb', 'det', 'adj')
('det', 'adj', 'noun', 'vb', 'det', 'vb')
('det', 'adj', 'noun', 'vb', 'det', 'noun')
('det', 'adj', 'noun', 'vb', 'det', 'adj')

我认为itertools.product()实际上,就是您要找的:

pos = [['det'], ['noun', 'adj'], ['noun'],
       ['vb'], ['det'], ['vb', 'noun', 'adj']]
for x in itertools.product(*pos):
    print " ".join(x)

印刷品

^{pr2}$

相关问题 更多 >