python列表之索引及len()函数
我们在刚开始使用列表的时候,经常会遇到这种错误
list_1 = ['one', 'two', 'three', 'four', 'five']
print(list_1[5])
这段代码看上去是没有什么问题的,但是我们注意打印列表的索引
运行代码导致索引错误:
Traceback (most recent call last):
File "D:\pythonProject\main.py", line 2, in <module>
print(list_1[5])
IndexError: list index out of range
python试图访问索引5处的元素,但是我们python里的列表元素索引是从0开始的,也就是说我们这个列表里面的最后一个元素的索引为4
那么我们在访问索引5时,就会发现没有这个元素,此时就会报错
当我们想要访问最后一个元素时,为了防止错误,我们可以使用索引-1,这种方法在任何情况下都是可以实现的,即便列表长度发生变化
list_1 = ['one', 'two', 'three', 'four', 'five']
print(list_1[-1])
索引-1总是返回列表最后一个元素,这里是'five':
five
但是注意!!!
如果这个列表是空列表,则这种访问最后一个元素的方式就会报错:
list_1 = []
print(list_1[-1])
列表list_1不包含任何元素,所以python返回索引错误
Traceback (most recent call last):
File "D:\pythonProject\main.py", line 2, in <module>
print(list_1[-1])
IndexError: list index out of range
len()
当然,我们还可以使用len()函数
len()可以计算并返回一个列表的长度
list_1 = ['one', 'two', 'three', 'four', 'five']
len_1 = len(list_1)
print(len_1)
print(list_1[len_1-1])
此时len_1的值为列表的长度5,但是别忘了我们索引是从0开始的,所以访问最后一个元素时还要-1
5
five