关于Python 列表的索引取值问题

 更新时间:2022年09月10日 10:31:24   作者:安迪python学习笔记  
这篇文章主要介绍了Python 列表的索引取值,本节重点掌握多次索引取值的语法:列表[索引][索引],结合示例代码给大家介绍的非常详细,需要的朋友可以参考下

列表的索引取值

1. 列表的索引

和字符串一样,列表中的每一个元素也都有一个属于自己的编号,这个编号就是列表的索引。

2. 列表索引取值

通过字符串索引,我们可以取出字符串中的元素。

通过列表索引,我们可以取出列表的元素。

【语法】

  • 列表名或者列表本身。
  • 英文中括号。
  • 索引。

3. 列表的正索引取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪"]

print(str_list[0])
print(str_list[1])
print(str_list[2])

【终端输出】

当归
人参
黄芪

⚠️正索引从左往右开始编号,编号从0开始!

str_list[0]取到列表的第1元素当归
str_list[1]取到列表的第2元素人参
str_list[2]取到列表的第3元素黄芪

4. 列表的负索引取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪"]

print(str_list[-1])
print(str_list[-2])
print(str_list[-3])

【终端输出】

黄芪
人参
当归

⚠️负索引从右往左开始编号,编号从-1开始!

str_list[-1]取到列表的倒数第1元素黄芪
str_list[-2]取到列表的倒数第2元素人参
str_list[-3]取到列表的倒数第3元素当归

负索引取值通常使用在不知道列表有几个元素,或列表元素太多,你需要取倒数第n个元素的情况。

【温馨提示】

重点注意区分正索引从0开始编号,而负索引从-1开始编号。

5. 用列表本身取值

print(["当归", "人参",  "黄芪"][2])

【终端输出】

黄芪

上述代码是直接从一个列表中取出列表的第3个元素。

这样的方法很少用,了解即可。

6. 从嵌套列表中取值

【语法】

列表[索引][索引]

当需要从列表中的列表取值,即需要2次索引取值的时候,语法为列表[索引][索引]

嵌套列表就是指列表中还有列表,即列表的某个元素或某几个元素的数据类型为列表。

  1. 列表[索引]从列表中取出含有身份证号码的元素:
# 新建一个stu列表
stu_list = ["白敬亭",   ["联系方式", 19987658765] , ["身份证号",  533001199101023456]]

# 用正索引取出列表的第3个元素
print(stu_list[2])

# 用负索引取出列表的倒数第1个元素
print(stu_list[-1])

# 查看取到的元素的数据类型
print("取到的元素数据类型为",type(stu_list[2]))
print("取到的元素数据类型为",type(stu_list[-1]))

【终端输出】

['身份证号', 533001199101023456]
['身份证号', 533001199101023456]
取到的元素数据类型为 <class 'list'>
取到的元素数据类型为 <class 'list'>

观察上述结果,取到的元素的数据类型为列表list

但这不是我想要的最终结果,我还想继续取出他的身份证号码,该如何操作呢?

2.列表[索引][索引]取出列表中的列表元素:

# 新建一个stu列表
stu_list = ["白敬亭",   ["联系方式", 19987658765] , ["身份证号",  533001199101023456]]

# 用正索引取出列表的第3个元素,然后取出第3个元素中的第2个元素
print(stu_list[2][1])

# 用负索引取出列表的倒数第1个元素,然后取出倒数第1个元素中的倒数第1个元素
print(stu_list[-1][-1])

# 查看取到的元素的数据类型
print("取到的元素数据类型为",type(stu_list[2][1]))
print("取到的元素数据类型为",type(stu_list[-1][-1]))

【终端输出】

533001199101023456
533001199101023456
取到的元素数据类型为 <class 'int'>
取到的元素数据类型为 <class 'int'>

stu_list[2]取到了列表stu_list中的第3个元素,即['身份证号', 533001199101023456]

stu_list[2][1]中的[2]先取到['身份证号', 533001199101023456]

后面的[1]取到了['身份证号', 533001199101023456]中的第2个元素,即533001199101023456

取到的数据类型为整数。

7. 课后练习

1.我的书包中有雨伞、手机、钱包;钱包中有银行卡、公交卡、饭卡。

【题目要求】

  • 用一个列表存储书包中的物品。
  • 用一个列表存储钱包中的物品。
  • 编写代码从书包列表中取出公交卡。

【参考答案】

# 新建一个钱包列表
qianbao = ["银行卡", "公交卡", "饭卡"]

# 新建一个书包列表
shubao = ["雨伞", "手机", qianbao]

# 从书包中取出第3个元素qianbao,然后取出qianbao中的第2个元素公交卡
print(shubao[2][1])

【终端输出】

公交卡

为了方便大家理解,上述列表名和列表中的元素我都用了中文。

2.取出下面列表中联系方式中的19987658765

# 新建一个stu列表
stu_list = ["白敬亭",   ["联系方式", [19987658765, 'xyz77520520']] , ["身份证号",  533001199101023456]]

【参考答案】

# 新建一个stu列表
stu_list = ["白敬亭",   ["联系方式", [19987658765, 'xyz77520520']] , ["身份证号",  533001199101023456]]

# 正索引取值
print(stu_list[1][1][1])

# 负索引取值
print(stu_list[-2][-1][-1])

# 查看取到的元素的数据类型
print("取到的元素数据类型为",type(stu_list[1][1][1]))
print("取到的元素数据类型为",type(stu_list[-2][-1][-1]))

【终端输出】

xyz77520520
xyz77520520
取到的元素数据类型为 <class 'str'>
取到的元素数据类型为 <class 'str'>

上面是3层列表嵌套(我自己起的名字),大家可以多写几个更复杂更多层的列表嵌套取值程序,体验列表的多索引取值,有报错的可以截图或发源代码给我。

8. 总结

列表的索引取值和字符串取值语法一致,注意正索引编号从0开始即可。

本节重点掌握多次索引取值的语法:列表[索引][索引]

列表取值编程中经常用到,需要重点掌握。

到此这篇关于Python 列表的索引取值的文章就介绍到这了,更多相关Python 索引取值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python连接SQL Server数据库并实时读取数据

    Python连接SQL Server数据库并实时读取数据

    在Python中,可以使用pyodbc库来连接SQL Server数据库,并使用pandas库来进行数据处理,下面我们就来讲讲如何实时读取SQL Server数据库表,并将数据写入Excel文件,需要的可以参考下
    2023-12-12
  • 如何把外网python虚拟环境迁移到内网

    如何把外网python虚拟环境迁移到内网

    这篇文章主要介绍了如何把外网python虚拟环境迁移到内网,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python 使用Yolact训练自己的数据集

    python 使用Yolact训练自己的数据集

    这篇文章主要介绍了python 使用Yolact训练自己的数据集,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 用Python操作字符串之rindex()方法的使用

    用Python操作字符串之rindex()方法的使用

    这篇文章主要介绍了用Python操作字符串之rindex()方法的使用,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • numpy如何按条件给元素赋值np.where、np.clip

    numpy如何按条件给元素赋值np.where、np.clip

    这篇文章主要介绍了numpy如何按条件给元素赋值np.where、np.clip问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • opencv对多种颜色小球的形状及位置判断方式

    opencv对多种颜色小球的形状及位置判断方式

    在这段时间参加了一个竞赛,写下了这个代码,但是总感觉有一些地方是不完善!这是一个关于使用opencv库判断颜色小球形状及位置的功能实现,其中也参考了一些前辈的代码,希望能对迷茫中的小伙帮有所帮助
    2022-11-11
  • python 实现朴素贝叶斯算法的示例

    python 实现朴素贝叶斯算法的示例

    这篇文章主要介绍了python实现朴素贝叶斯算法的示例,帮助大家更好的理解和学习python 机器学习算法,感兴趣的朋友可以了解下
    2020-09-09
  • 在Django下测试与调试REST API的方法详解

    在Django下测试与调试REST API的方法详解

    今天小编就为大家分享一篇在Django下测试与调试REST API的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 使用python代码进行身份证号校验的实现示例

    使用python代码进行身份证号校验的实现示例

    这篇文章主要介绍了使用python代码进行身份证号校验的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 关于使用OpenCsv导入大数据量报错的问题

    关于使用OpenCsv导入大数据量报错的问题

    这篇文章主要介绍了使用OpenCsv导入大数据量报错的问题 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论