
li[-1]是列表中的最后一项,因此是最近添加到其末尾的一项:
>>> li = [1, 2, 3]>>> li.append(4)>>> li[-1]4
如果您需要索引而不是项目,那么
len(li) - 1就很好并且非常有效(因为它
len(li)是在恒定时间内计算的,请参见下文)
在CPython的源,
len用于列表被映射到函数
list_length中
Objects/listobject.c:
static Py_ssize_tlist_length(PyListObject *a){ return Py_SIZE(a);}Py_SIZE只是用于访问所有Python对象的size属性的宏,该宏在中定义
Include/object.h:
#define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
因此,
len(lst)本质上是单个指针取消引用。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)