我试图找到一个单词中所有元音的所有可能组合。例如给定“你好”:
[汉拿,哈雷,哈利,哈啰,哈鲁,海拉,哈莉,哈利,哈啰,哈鲁...]
我编写了以下函数,它只接受每个元音,在每个元音处,它只会将其全部替换为元音并将每个版本添加到列表中。我正在尝试根据需要将其更改为排列,但它不起作用。我尝试在附加后插入元音(“”.join(string),arr),但这会导致无限递归。
def vowels(word, arr=None):
if arr is None:
a = []
for i, c in enumerate(word):
if c in 'aeiou':
for v in 'aeiou':
string = list(word)
string[i] = v
arr.append("".join(string))
return arr
有人有什么建议吗?
一旦提到的拼写错误被修复,您的函数将返回:
['hallo', 'hello', 'hillo', 'hollo', 'hullo', 'hella', 'helle', 'helli', 'hello', 'hellu']
...所以它返回一些可能的组合,但不是全部。
这是因为它依次获取单词中的每个元音,并依次用每个元音替换它,然后转移到单词中的下一个元音——但不考虑它在遇到后续元音时发现的前一个元音。这里有一个递归解决方案,适用于任何数量元音的单词:
import re
VOWELS = "aeiou"
RE_VOWEL = re.compile("[%s]" % VOWELS)
def helper(parts):
if len(parts) == 1:
yield parts[0]
else:
for vowel in VOWELS:
for item in helper([vowel.join(parts[:2])] + parts[2:]):
yield item
def vowels(word):
parts = re.split(RE_VOWEL, word)
return list(helper(parts))
我只想替换字符串中的单词,如果单词字符或单词前后没有连字符。 文本: 替换后的预期结果: 正则表达式: < li >正则表达式当前仅匹配第一个匹配项(< code>#后的按钮)。我需要做什么来匹配所有事件? < li >如何在Java中将< code>button替换为< code>text或任何其他单词? 我读过主题我能在Java regex中替换组吗?,但是我真的不明白如何为我的特殊情况使用示
问题内容: 我想替换所有我的Elasticsearch索引文档中的单个用户名。是否有API查询? 我尝试搜索多个但找不到。有人知道吗? 我的情况: 我在名为“ test”的索引中具有上述数据,并键入“ movies”。在这里,我想用“ alice”代替所有的“ bob”名称。 谢谢 问题答案: 通过查询更新是解决之道。 注意:请确保启用动态脚本,以使其起作用。
我在一次采访中被问到以下问题。虽然我用n元树回答了这个问题,但有人告诉我这还不够好。所以,我很好奇,什么是它的最佳解决方案。 输入:整数数组:[2,3,7]和总和:10 输出:加起来等于和的所有数组元素组合(例如2、2、3、3、7等) 谢了小泰
我需要将给定字符串中的每个元音替换为同一个元音,后跟字母“v”,再跟上一次元音。例如:<code>bad</code>应该变为<code>bavad</code>,<code>egg</code>变为<code>evegg</code>,<code>doge</code>dovogeve</code>,等等。练习明确指出需要使用<code>String完成。join()方法。到目前为止,我已经想出
查找工具栏 快捷键 Mac: Command + F Windows\/Linux: Ctrl + F 先选中复制,然后调出查找工具栏,选中部分就被自动填入搜索框,按回车键快速搜索。 操作步骤(快捷键): Command + C (复制单词) Command + F (调出查找工具栏) Enter (回车开始查找) 在查找结果中跳转 下一个匹配到的结果 快捷键: Mac: Command + G
在Atom中,对你文件或者项目中的文本进行查找或者替换,非常快速而且容易。 cmd-F 在缓冲区中查找 cmd-shift-f 在整个项目中查找 如果你执行了这些命令,你屏幕的底部会出现一个“Find and Replace”面板。 你可以按下cmd-F,输入需要搜索的字符串,并且多次按下回车(或者cmd-G,或者“Find Next”按钮)来在当前文件中搜索,循环查找当前文件中的匹配内容。“Fi