关于Python 列表的索引取值问题
作者:安迪python学习笔记 发布时间:2022-09-08 05:39:54
列表的索引取值
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次索引取值的时候,语法为列表[索引][索引]
。
嵌套列表就是指列表中还有列表,即列表的某个元素或某几个元素的数据类型为列表。
列表[索引]
从列表中取出含有身份证号码的元素:
# 新建一个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开始即可。
本节重点掌握多次索引取值的语法:列表[索引][索引]
。
列表取值编程中经常用到,需要重点掌握。
来源:https://blog.csdn.net/weixin_63986098/article/details/126780895


猜你喜欢
- 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
- 如果使用的是MySQL 5.0.x可以直接将以下内容保存替换MySQL中的my.ini,记得要修改basedir和datadir两个栏目的路
- 前端开发部门在壮大,人员在增加,技术在进步。CSSer虽然不能代表前端开发团队,但CSSer是前端开发中非常重要的组成部分。一、文档写程序的
- study.py内容如下#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ =
- 如下所示:def trans_data_to_pair(self,data,index): contents=[
- 在熟悉了Python的基本安装与环境配置之后,我们来看看Python的基本运算操作。1. 基本运算>>>6 # 这里的‘#
- 大家还好吗?背景就不用多说了吧?本来我是初四上班的,现在延长到2月10日了。这是我工作以来时间最长的一个假期了。可惜哪也去不了。待在家里,没
- 本文实例为大家分享了微信小程序实现星星评价效果的具体代码,供大家参考,具体内容如下代码实现wxml文件<!--pages/evalua
- 先给出结论:要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高;如果要替换的字符数量较多,则推荐在 for 循环
- 如何实现刷新当前页面呢?借助js你将无所不能。1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([
- ctrl + r => 输入drivers回车 => etc/hosts , 用记事本打开它,在 127.0.0.1 local
- 此方法会导致就好像它是在一个<font size="size">标记的字符串显示在规定的大小语法
- 严正声明:本文仅限于技术讨论,严禁用于其他用途。基础知识socket通信模块:针对TCP/IP协议簇进行的程序封装,在Windows/Lin
- goroutine 泄漏和避免泄漏的最佳实践Go的奇妙之处在于,我们可以使用goroutines和channel轻松地执行并发任务。如果在生
- 开发环境:python 3.6django 1.11场景一经常有从数据库中获取一批数据,然后在前端以列表的形式展现,比如:获取到所有的用户,
- 本文介绍基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选、掩膜的操作。本文所要实现的需求
- <?php function getIPLoc_sina($queryIP){ $url =
- 这里介绍几个常用的列表操作添加元素添加元素使用列表的内置方法appendnumber = [1, 2, 3, 4]number.append
- </pre><pre name="code" class="javascript"
- 详情查看下面的代码:如果被识别就要添加一个cookie如果没有被识别的话就要一个user—agent就好了。如果出现乱码就设置编码格式为ut