如何通过自定义函数获取列表中匹配子列表的后续元素
解决方案
先给出完整可运行的代码:
x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] def my_func(y): for sublist in x: # 先确保子列表长度足够,再检查开头是否匹配y if len(sublist) >= len(y) and sublist[:len(y)] == y: return sublist[len(y)] # 无匹配时返回None,可根据需求调整 return None # 调用示例 variable = my_func([4, 5]) print(variable) # 输出: 6
代码说明
- 遍历全局列表
x中的每个子列表,逐一验证是否符合条件 - 先判断子列表长度是否大于等于
y的长度,防止索引越界错误 - 通过切片
sublist[:len(y)]获取子列表的前len(y)个元素,与y对比确认开头匹配 - 匹配成功后,直接返回子列表中紧随
y之后的第一个元素(索引为len(y)的位置) - 若没有找到任何匹配的子列表,函数返回
None,你可以根据实际需求修改为抛出异常或返回特定默认值
内容的提问来源于stack exchange,提问作者Heçkır 001
相关产品推荐
相关产品推荐

