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

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. webpack配置文件的分离

    配置文件的分离 目的就是让开发环境, 生产环境,测试环境的配置分隔开 步骤一: 在项目根目录下创建一个 build 文件夹专门用来存放配置文件,再创建三个js文件, base.config.js 文件 ...

  2. linux系统下python中的tkinter库

    打开终端,输入如下命令: sudo apt-get update sudo apt-get install python3-tk

  3. 【博客重构之路】webman-admin安装指南

    原文地址[博客重构之路]webman-admin安装指南 视频地址[bilibili] webman是什么 webman是一款基于workerman开发的高性能HTTP服务框架.webman用于替代传 ...

  4. DASCTF 2023 & 0X401七月暑期挑战赛

    比赛只出了一道,小菜不是罪过-_- controlflow 这个题动调到底就行 for i in range(40): after_xor[i]=inp[i]^0x401 after_xor[i] + ...

  5. 「BJWC2012」冻结题解

    「BJWC2012」冻结题解 一.题目 "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中 ...

  6. RocketMQ 系列(三) 集成 SpringBoot

    RocketMQ 系列(三) 集成 SpringBoot 前两篇文章介绍了 RocketMQ 基本概念与搭建,现在以它与 SpringBoot 的结合来介绍其基本的用法. RocketMQ系列(一) ...

  7. react18-webchat网页聊天实例|React Hooks+Arco Design仿微信桌面端

    React18 Hooks+Arco-Design+Zustand仿微信客户端聊天ReactWebchat. react18-webchat基于react18+vite4.x+arco-design+ ...

  8. 自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器HttpMessageConverter

    消息转换器 HttpMessageConverter 消息转化器的作用 将请求报文转化为Java对象 将Java对象转化为响应报文 消息转换器接口 public interface HttpMessa ...

  9. .NET Core 实现Excel的导入导出

    目录 前言 NPOI简介 一.安装相对应的程序包 1.1.在 "管理NuGet程序包" 中的浏览搜索:"NPOI" 二.新建Excel帮助类 三.调用 3.1. ...

  10. @Validated指定校验顺序

    在Java中,使用@NotNull注解时,可以指定多个参数的顺序.为了指定顺序,你可以使用@GroupSequence注解. 首先,为每个需要校验的参数定义一个接口,并在接口上添加@GroupSequ ...