如何获取列表首元素?列表为空时返回None的实现方法
Python 获取列表首元素(无则返回默认值)的简洁写法
当然有更优的实现方式,下面是几种常用的简洁写法,都不会触发IndexError:
利用迭代器和
next()函数(最推荐的方式之一):arr = [] first_or_None = next(iter(arr), None)原理:
iter(arr)将列表转为迭代器,next()会取出迭代器的第一个元素;如果迭代器为空(即列表无元素),就返回第二个参数指定的默认值None。使用条件表达式(三元运算符):
arr = [] first_or_None = arr[0] if arr else None把你原来的if-else逻辑浓缩成一行,可读性强,逻辑和原代码完全一致。
序列解包结合
or运算符:arr = [] first_or_None, *_ = arr or [None]原理:如果
arr为空,arr or [None]会返回[None];解包后first_or_None会取第一个元素,*_用来接收剩余元素(这里用下划线表示不需要的变量)。
内容的提问来源于stack exchange,提问作者BabaIsMe
相关产品推荐
相关产品推荐

