返回包含最后一个元音音素和后续辅音音素的列表

2024-06-09 06:09:04 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在研究这个问题

元音音素是最后一个字符是0、1或2的音素。例如,单词BEFORE(bih0fao1r)包含两个元音音素,而单词GAP(gap1p)则有一个。在

参数表示音素列表。函数的作用是返回一个列表,其中包含给定音素列表中最后一个元音音素和随后的辅音音素。如果音素列表不包含元音音素,则返回空列表。在


Tags: 函数列表参数字符单词元音gapbefore
1条回答
网友
1楼 · 发布于 2024-06-09 06:09:04
def last_phonemes(phoneme_list):
    """ (list of str) -> list of str

    Return the last vowel phoneme and subsequent consonant phoneme(s) in
    phoneme_list.

    >>> last_phonemes(['AE1', 'B', 'S', 'IH0', 'N', 'TH'])
    ['IH0', 'N', 'TH']
    >>> last_phonemes(['IH0', 'N'])
    ['IH0', 'N']
    >>> last_phonemes(['B', 'S'])
    []
    """
    for i, phoneme in reversed(list(enumerate(phoneme_list))):
        if phoneme[-1] in '012':
            return phoneme_list[i:]
    return []

编辑解释

您想按reversed顺序遍历音素列表。当您找到第一个包含“0”字符的项时,您需要对原始列表进行切片(您的代码中正好有切片部分)。您将需要索引来进行切片,因此在反转之前enumerate先查看音素列表。在

相关问题 更多 >