加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:08:21 所属栏目:Python 来源:网络整理
导读:如何生成字符之间带空格的字符串的所有可能组合? [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
如何生成字符之间带空格的字符串的所有可能组合?
[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 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','f o o b a r']

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读