代码编织梦想





一、使用下标索引访问列表




1、下标索引用法


在 Python 列表 List 中的每个 数据元素 , 都有对应的 位置下标索引 ,

  • 正向下标索引 从首部 0 开始 , 向后依次增加 ;
  • 反向下标索引 从尾部 -1 开始, 向前依次递减 ;

下标索引语法 : 在 列表变量 后 , 添加中括号 , 在中括号中写上下标索引 ;

列表变量[下标索引]

2、正向下标索引


正向下标索引 : 取值范围是 0 到 列表元素个数 - 1 ;

在这里插入图片描述


3、反向下标索引


反向下标索引 : 反向索引都是负数 , 其次序是从后向前 , 从 -1 开始计数 , 依次递减 ;

  • 倒数第一个为 -1 ;
  • 倒数第二个为 -2 ;
  • 倒数第三个为 -3 ;

列表有 n n n 个 元素 , 则反向索引的取值范围是 − n -n n ~ − 1 -1 1 ;

在这里插入图片描述


4、代码示例 - 列表下标索引基本用法


列表下标索引示例 :

"""
列表 List 下标索引 代码示例
"""

# 定义列表
names = ["Tom", "Jerry", "Jack"]

# 使用列表的下标索引
# 正向下标索引
print(names[0]) # 输出: Tom
print(names[1]) # 输出: Jerry
print(names[2]) # 输出: Jack

print("")

# 反向下标索引
print(names[-1]) # 输出: Jack
print(names[-2]) # 输出: Jerry
print(names[-3]) # 输出: Tom

执行结果 :

Tom
Jerry
Jack

Jack
Jerry
Tom

在这里插入图片描述





二、嵌套列表下标索引




1、嵌套列表下标索引简介


嵌套的列表 , 如果想要取出指定位置的数据元素 , 需要使用两层下标索引 , 类似于 二维数组 访问 ;

在这里插入图片描述


2、代码示例 - 嵌套列表下标索引


代码示例 :

"""
列表 List 下标索引 代码示例
"""

# 定义列表
names = [["Tom", 18], ["Jerry", 16], ["Jack", 21]]

# 嵌套列表的下标索引
print(names[0][0]) # 输出: Tom
print(names[1][1]) # 输出: 16
print(names[2][1]) # 输出: 21

执行结果 :

Tom
16
21

在这里插入图片描述





三、下标索引越界错误



使用 下标索引时 , 注意 下标索引不要越界 , 否则会报 IndexError: list index out of range 错误 ;

Traceback (most recent call last):
  File "Y:\002_WorkSpace\PycharmProjects\HelloPython\hello.py", line 11, in <module>
Tom
16
    print(names[2][2]) # 输出: 21
IndexError: list index out of range
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shulianghan/article/details/131032446

list的模拟实现-爱代码爱编程

第一步:看源代码 类的框架: 成员函数:   基本可以确定list是一个带头双向循环链表,end()的迭代器指向头节点,begin()的迭代器指向头结点的下一个节 list的迭代器:(稍显

java 集合 - list 接口-爱代码爱编程

文章目录 1.List 接口介绍2.List 接口常用 API3.ListIterator 迭代器4.ArrayList - 动态数组4.1 ArrayList 概述4.2 手撸动态数组 5.Vecto

了解list_,< ,/( _ ),x,(1,, d,,,,,,e,(%,,,,t,?e,,,,,aw rd,,,-爱代码爱编程

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list

list常见接口的使用(基于c++标准库中的stl)_c++ list容器的clear接口-爱代码爱编程

前言          list是重要的容器了解它的常见接口以及使用是很有必要的,为什么有了vector还要有list呢?因为vector存在一些缺陷,比如:容量满了要扩容,扩容是要付出代价的(性能的损失),存在空间的浪费,而且vector的头删头插或者中间位置的插入删除都需要挪动数据(时间复杂度O(n))因此比较慢。而list的存在就是为了弥补vect