2024-04-29 12:27:29 发布
网友
只是在Python中寻找一个脚本,它接收一些字符串并返回由原始字符串中所有可能的字符组合组成的所有可能的字符串。。。
我发现脚本可以随机洗牌字符串中的字符,但它们只返回一个随机组合,我要寻找的是所有可能的组合。。。
比如说:
script.py "abc" abc acb bac bca cab cba
谢谢!
^{}
>>> import itertools >>> import pprint >>> pprint.pprint(list(itertools.permutations("spam"))) [('s', 'p', 'a', 'm'), ('s', 'p', 'm', 'a'), ('s', 'a', 'p', 'm'), ('s', 'a', 'm', 'p'), ('s', 'm', 'p', 'a'), ('s', 'm', 'a', 'p'), ('p', 's', 'a', 'm'), ('p', 's', 'm', 'a'), ('p', 'a', 's', 'm'), ('p', 'a', 'm', 's'), ('p', 'm', 's', 'a'), ('p', 'm', 'a', 's'), ('a', 's', 'p', 'm'), ('a', 's', 'm', 'p'), ('a', 'p', 's', 'm'), ('a', 'p', 'm', 's'), ('a', 'm', 's', 'p'), ('a', 'm', 'p', 's'), ('m', 's', 'p', 'a'), ('m', 's', 'a', 'p'), ('m', 'p', 's', 'a'), ('m', 'p', 'a', 's'), ('m', 'a', 's', 'p'), ('m', 'a', 'p', 's')]
(这里的pprint只是为了让输出看起来更整洁)或者,如果您愿意的话
pprint
>>> list(map("".join, itertools.permutations("spam"))) ['spam', 'spma', 'sapm', 'samp', 'smpa', 'smap', 'psam', 'psma', 'pasm', 'pams', 'pmsa', 'pmas', 'aspm', 'asmp', 'apsm', 'apms', 'amsp', 'amps', 'mspa', 'msap', 'mpsa', 'mpas', 'masp', 'maps']
^{}这样做。
>>> import itertools >>> for s in itertools.permutations('banana'): ... print ''.join(s) ... banana banaan bannaa bannaa # many, many more...
^{}
(这里的
pprint
只是为了让输出看起来更整洁)或者,如果您愿意的话^{} 这样做。
相关问题 更多 >
编程相关推荐