gpt4 book ai didi

python - 如何生成字符串与字符之间有空格的所有可能组合? Python

转载 作者:太空狗 更新时间:2023-10-29 22:22:58 25 4
gpt4 key购买 nike

如何生成字符串的所有可能组合,字符之间有空格?

[in]: "foobar"

[out]:
['foobar', 'f oobar', 'fo obar', 'f o obar', 'foo bar', 'f oo bar', 'fo o bar',
'f o o bar', 'foob ar', 'f oob ar', 'fo ob ar', 'f o ob ar', 'foo b ar',
'f oo b ar', 'fo o b ar', 'f o o b ar', 'fooba r', 'f ooba r', 'fo oba r',
'f o oba r', 'foo ba r', 'f oo ba r', 'fo o ba r', 'f o o ba r', 'foob a r',
'f oob a r', 'fo ob a r', 'f o ob a r', 'foo b a r', 'f oo b a r', 'fo o b a r',
'f o o b a r', 'foobar', 'f oobar', 'fo obar', 'f o obar', 'foo bar',
'f oo bar', 'fo o bar', 'f o o bar', 'foob ar', 'f oob ar', 'fo ob ar',
'f o ob ar', 'foo b ar', 'f oo b ar', 'fo o b ar', 'f o o b ar', 'fooba r',
'f ooba r', 'fo oba r', 'f o oba r', 'foo ba r', 'f oo ba r', 'fo o ba r',
'f o o ba r', 'foob a r', 'f oob a r', 'fo ob a r', 'f o ob a r', 'foo b a r',
'f oo b a r', 'fo o b a r', 'f o o b a r']

最佳答案

import itertools as it

def func(s):
if not s:
return [s]
binary = it.product(['',' '], repeat=len(s)-1)
zipped = (it.izip_longest(s , comb, fillvalue='') for comb in binary)
return [''.join(it.chain.from_iterable(x)) for x in zipped]

func('foobar')

输出:

['foobar',
'fooba r',
'foob ar',
'foob a r',
'foo bar',
'foo ba r',
'foo b ar',
'foo b a r',
'fo obar',
'fo oba r',
'fo ob ar',
'fo ob a r',
'fo o bar',
'fo o ba r',
'fo o b ar',
'fo o b a r',
'f oobar',
'f ooba r',
'f oob ar',
'f oob a r',
'f oo bar',
'f oo ba r',
'f oo b ar',
'f oo b a r',
'f o obar',
'f o oba r',
'f o ob ar',
'f o ob a r',
'f o o bar',
'f o o ba r',
'f o o b ar',
'f o o b a r']

关于python - 如何生成字符串与字符之间有空格的所有可能组合? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com