抱歉,这个标题可能不太有用;我不知道如何用一句话来概括这个问题。
我正在尝试计算 Python 3.10 中一个单词的长度。一个“单位”是(C 代表辅音,V 代表元音)CV或VC或C或V(后两者仅在无法配对时使用)。例如,“piece” 将是三个单位(pi-e-ce
或pi-ec-e
),“queue” 将是四个单位(qu-e-u-e
),而“lampshade” 将是六个单位(la-m-p-s-ha-de
)。
我所苦苦思索的是如何准确地检测这些单元,而无需对每对字母的每个元音和辅音的组合进行迭代。使用迭代来做到这一点效率极低,但以我目前对 Python 的了解,我想不出更好的方法。解决这个问题的有效方法是什么?
作为一个额外的(可选)问题,如果引入二合字母,如“gh”和“th”,会怎么样?这将使“thigh”等单词(四个单位t-hi-g-h
)变成只有两个单位(thi-gh
),但也使计算变得复杂。