You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何查找列表中位于指定输入单词之后的相邻单词

Python 实现查找列表中指定字符串后紧邻元素的方案

基础实现(仅返回第一个匹配结果)

适用场景:列表中仅存在一个目标字符串,或只需获取第一个匹配的目标后的紧邻元素
实现思路:调用列表内置index()方法获取目标字符串的索引,判断索引合法性后返回索引+1位置的元素,同时处理目标不存在、目标在列表末尾的边界情况。
示例代码:

def get_next_word(word_list: list[str], target_word: str) -> str | None:
    try:
        target_idx = word_list.index(target_word)
        # 确保目标不是列表最后一个元素
        if target_idx < len(word_list) - 1:
            return word_list[target_idx + 1]
        return None
    # 捕获目标不存在的异常
    except ValueError:
        return None

使用示例:

demo_list = ["I", "Can", "play", "football"]
target = "Can"
print(get_next_word(demo_list, target)) # 输出结果:play

进阶实现(返回所有匹配结果)

适用场景:列表中存在多个相同的目标字符串,需要获取所有匹配位置后紧邻的元素
实现思路:遍历列表所有元素(仅遍历到倒数第二个元素即可),每匹配到目标字符串就将下一个元素存入结果列表。
示例代码:

def get_all_next_words(word_list: list[str], target_word: str) -> list[str] | None:
    res = []
    # 仅遍历到倒数第二个元素,避免索引越界
    for idx in range(len(word_list) - 1):
        if word_list[idx] == target_word:
            res.append(word_list[idx + 1])
    return res if res else None

使用示例:

demo_list = ["Can", "you", "lift", "this?", "Can", "he", "lift", "it?"]
target = "Can"
print(get_all_next_words(demo_list, target)) # 输出结果:['you', 'he']

你可以根据实际业务需求调整返回值规则,比如目标不存在或无后续元素时返回自定义提示字符串,而非默认返回None。

内容的提问来源于stack exchange,提问作者Pelles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:27:06