我们在刚开始使用列表的时候,经常会遇到这种错误

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

python列表之索引及len()函数的更多相关文章

  1. python列表的一些常用方法以及函数

    学习到了一些关于python列表的新知识,自己整理了一下,方便大家参考: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # File_type:列表的常用操 ...

  2. python列表和索引--7

    备注:列表元素索引下限从0开始,列表用[ ]表示

  3. python列表中enumerate和zip函数用法

    enumerate: 定义:enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标 例子: list1 =[89,98,00,75,6 ...

  4. python列表的索引与切片

    <1>.python的列表 索引方式: 例如,list1 = ['张三','男','33','江苏','硕士','已婚',['身高178','体重72']] 1.正向单索引 print(l ...

  5. Python列表lists索引关于字符串小纪

    看的出'字符串列表'中的空格也是计算在内的

  6. list(range())--------range创建一个list列表 遍历索引range(len()) 和 list(range())创建列表

    lst = list(range(15,26)) #注,list(range())用的是小括号哦print(lst)

  7. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  8. python第七篇:Python 列表操作详解

    Python列表操作详解 list函数 list()   #生成一个空的列表 list(iterable)  #用可迭代对象初始化一个列表 列表的 and 运算和 or 运算 列表and运算 > ...

  9. Python 简明教程 ---10,Python 列表

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + ...

  10. Python列表脚本操作符

    Python列表脚本操作符: len(列表名): 查看列表长度 # 使用 len(列表名) 方法查看列表长度 lst = [1,2,3,4] print(len(lst)) # # 注:嵌套列表算一个 ...

随机推荐

  1. gulp来处理html、css、js资源啦

    gulp 一般用于处理自动化任务,默认情况无法处理模块化,也不会用于大型项目,但它可以使用各种插件来编译 html.css.js 等资源. 不清楚如何使用 gulp 开启任务的朋友可以参考 gulp使 ...

  2. C# 中关于 T 泛型【C# 基础】

    〇.前言 C# 里面的泛型不仅可以使用泛型函数.泛型接口,也可以使用泛型类.泛型委托等等.在使用泛型的时候,它们会自行检测你传入参数的类型,因此它可以为我们省去大量的时间,不用一个个编写方法的重载.与 ...

  3. 应用性能监控工具(pinpoint)部署

    Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控.方法执行详情查看.应用状态信息监控等功能.pinpoint使用HBASE储存数据. 下面介绍pinpoint部署及应用. 1.  安装 ...

  4. IDEA使用@Autowired注解为什么会提示不建议?

    ​在使用IDEA编写Spring相关的项目时,当在字段上使用@Autowired注解时,总会出现一个波浪线提示:"Field injection is not recommended.&qu ...

  5. Unity UGUI的Image(图片)组件的介绍及使用

    UGUI的Image(图片)组件的介绍及使用 1. 什么是UGUI的Image(图片)组件? UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像.它提供了一种简单而灵活 ...

  6. Lua5.3 笔记

    Lua5.3 笔记 最近用skynet,sproto通讯,完全看不懂通讯二进制是怎么写的,发现都是string这个,string那个,完全理解不来. 于是查了一下string.pack的api,和之前 ...

  7. Modbus转profinet网关连接位移计在1200程序控制案例

    Modbus转profinet网关连接位移计在1200程序控制案例 本案例讲述了兴达易控Modbus转profinet网关(XD-MDPN100)连接现场用台达LD-E镭射位移计检测控制在1200PL ...

  8. POWERBI_1分钟学会_连续上升或下降指标监控

    一:数据源 模拟数据为三款奶茶销量的日销售数据源,日期是23.8.24-23.8.31.A产品为连续7天,日环比下降,B产品为连续3天,日环比下降,C产品为连续2天,日环比下降. 二:建立基础度量值 ...

  9. pandas -- DataFrame的级联以及合并操作

    博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...

  10. c语言代码练习13

    //打印九九乘法表#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int x = 0; int y = ...