如何利用元音和谐函数处理动词与后缀列表得到目标结果
土耳其语元音和谐后缀匹配实现
核心规则梳理
土耳其语元音和谐基于两个维度:
- 前后元音:后元音(a, ı, o, u)/ 前元音(e, i, ö, ü)
- 圆唇与否:圆唇(o, u, ö, ü)/ 非圆唇(a, ı, e, i)
对应后缀匹配规则:
- 后非圆唇元音(a/ı)→ 后缀
ıyor - 前非圆唇元音(e/i)→ 后缀
iyor - 后圆唇元音(o/u)→ 后缀
uyor - 前圆唇元音(ö/ü)→ 后缀
üyor
代码实现
def apply_vowel_harmony(verbs): # 建立元音到对应后缀的映射字典 vowel_suffix_map = { 'a': 'ıyor', 'ı': 'ıyor', 'e': 'iyor', 'i': 'iyor', 'o': 'uyor', 'u': 'uyor', 'ö': 'üyor', 'ü': 'üyor' } conjugated_verbs = [] for verb in verbs: # 获取动词最后一个元音(默认输入动词均以元音结尾) last_vowel = verb[-1] # 拼接动词与匹配到的后缀 conjugated_verbs.append(verb + vowel_suffix_map[last_vowel]) return conjugated_verbs # 测试示例 verbs = ["al", "gel"] print(apply_vowel_harmony(verbs)) # 输出: ['alıyor', 'geliyor']
逻辑说明
- 用字典直接绑定元音与对应后缀,逻辑清晰且便于后续扩展规则
- 遍历动词时提取最后一个字符(核心决定元音),通过字典直接匹配后缀
- 若需兼容特殊动词(如不以元音结尾的情况),可额外添加元音校验逻辑筛选有效字符
内容的提问来源于stack exchange,提问作者Taha Yangın
相关产品推荐
相关产品推荐

