2012-10-14 34 views
-3

我需要创建recursivly找到一个函数中的定长信所有可能组合的Python函数。 例如,在单词“独角兽”使用该查找长度为3的所有组合将返回:定义Python函数找到combinatrics

[“或N”,“CRN”,“CON”,“COR”,“IRN”,“离子” 'IOR', 'ICN', 'ICR', 'ICO', 'NRN', '非', '也不', 'NCN', 'NCR', 'NCO', 'NIN', 'NIR' 'NIO', 'NIC', '瓮', 'UON', 'UOR', 'UCN', 'UCR', 'UCO', 'UIN', 'UIR', 'UIO', 'UIC' ,“UNN”,“脱离实际”,“UNO”,“联合国军司令部”,“单向”]

我甚至不知道这一个开始。请帮助我。

+0

这里有一个链接到Python字符串的方法。这里没人会从头开始写解决方案。搏一搏,如果您遇到问题,发布您的代码,所以我们可以帮助你用它http://docs.python.org/release/2.3/lib/module-string.html –

回答

2

itertools.combinations

print [''.join(x) for x in itertools.combinations('unicorn', 3)] 

如果你想正是相同的输出,你问:

>>> print [''.join(x) for x in itertools.combinations('unicorN', 3)][::-1] 
['orN', 'crN', 'coN', 'cor', 'irN', 'ioN', 'ior', 'icN', 'icr', 'ico', 'nrN', 'noN', 'nor', 'ncN', 'ncr', 'nco', 'niN', 'nir', 'nio', 'nic', 'urN', 'uoN', 'uor', 'ucN', 'ucr', 'uco', 'uiN', 'uir', 'uio', 'uic', 'unN', 'unr', 'uno', 'unc', 'uni'] 
+0

我已经删除了我最后的评论,正如我想的那样,意识到你是对的:-),同时你评论道。对不起! – jazz