Python中如何获取列表中与最后元素不同的首个前置值?
查找列表末尾前首个不同元素的解决方案
实现思路
- 先获取列表的最后一个元素作为参照值
- 从列表的倒数第二个元素开始,向前遍历查找第一个与参照值不同的元素
- 处理空列表、所有元素相同这类边界情况
代码实现(Python)
def find_first_diff_before_last(lst): if not lst: return None # 处理空列表 last_val = lst[-1] # 从倒数第二个元素开始反向遍历 for val in reversed(lst[:-1]): if val != last_val: return val # 所有元素都与最后一个元素相同的情况 return None # 测试示例 test_list = [1,7,9,8,5,5,5,5,5,5,5,5,5] print(find_first_diff_before_last(test_list)) # 输出:8
边界情况说明
- 空列表:返回
None - 所有元素相同的列表(如
[3,3,3]):返回None - 仅两个不同元素的列表(如
[2,5]):返回第一个元素2
内容的提问来源于stack exchange,提问作者yktrcn
相关产品推荐
相关产品推荐

