Moh*_*ANI 5 python arrays string recursion
我正在寻找一种方法来从一个句子中获取所有字符串拆分组合。例如,对于输入句子:
“我在吃披萨”
我想得到这个输出:
[["I", "am", "eating", "pizza"],
["I", "am eating", "pizza"],
["I", "am", "eating pizza"],
["I", "am eating pizza"],
["I am", "eating", "pizza"],
["I am", "eating pizza"],
["I am eating", "pizza"],
["I am eating pizza"]]
Run Code Online (Sandbox Code Playgroud)
我找不到这样做的递归方式!你有什么主意吗 ?这不是重复的:我不是在寻找整个组合,只寻找订购的项目,而且总是整个单词。从所谓的重复中找不到我的答案。
细分和重复
\n\n这是一种使用递归函数 \xe2\x80\x93 来完成此操作的方法以及我如何进行设计:
\n\ns使用索引扫描字符串i[[s]]否则..." "在索引处找到a,则将问题细分为A和B两部分并合并它们的结果,否则前进到下一个索引。# split :: String -> [[String]]\ndef split (s, i = 0):\n if len(s) == i:\n return [[s]]\n elif s[i] == " ":\n # Part A # Part B\n return [[s[0:i]] + acc for acc in split(s[i + 1:])] + split(s, i + 1)\n else:\n return split(s, i + 1)\n\nprint(split("i am eating pizza"))\n\n# [ [\'i\', \'am\', \'eating\', \'pizza\'], \n# , [\'i\', \'am\', \'eating pizza\']\n# , [\'i\', \'am eating\', \'pizza\']\n# , [\'i\', \'am eating pizza\']\n# , [\'i am\', \'eating\', \'pizza\']\n# , [\'i am\', \'eating pizza\']\n# , [\'i am eating\', \'pizza\']\n# , [\'i am eating pizza\']\n# ]\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |