列表、二维列表的索引和切片

本文介绍了Python中的列表及其索引和切片操作,包括一维列表和二维列表的使用。内容涵盖列表的定义、索引方式、切片语法以及如何更改列表中的值。此外,还提供了课后练习题,如如何索引特定元素、修改列表内容等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表的索引和切片

1.列表

定义:①可变的数据类型
②数据类型不限
③多个值用逗号(,)隔开
列表eg:

list1=[1,2,3,'zhangqiaomiao']
print(list1)

二维列表(列表中的元素可以用列表表示)
eg:

list2=[[1,2,3], [4,5,6], ['zhangqiaomiao','weihailang']]
print(list2)

2.列表的索引和切片:

索引:有序的列表中的元素都有其唯一对应的索引值,所有的索引值都是从0开始的,利用索引值进行索引和切片。
列表[开始:终止:步长] 半开区间, 开始的位置包含在内, 而终止的位置不包含在内
步长的默认值为1, 当步长设置为负整数, 代表, 从后往前切
开始和终止, 如果不填, 代表一直到头

list5 = ['零', '一', '二', '三', '四', '五', '六']
print(list5[0])print(list5[::-1])
['六', '五', '四', '三', '二', 
### 如何对Python二维列表进行索引切片 对于二维列表,在Python中可以通过指定两个维度上的索引来访问特定元素或子集。下面展示了具体的操作方法。 #### 访问单个元素 要获取二维列表中的某个单一元素,可以提供一对方括号内的行索引索引。例如: ```python matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] element = matrix[0][1] # 获取第1行第2个位置的值 (即数值2) ``` #### 切片一维数据 当只需要从某一行或某一列提取部分连续的数据时,可利用Python内置的支持来实现这一点[^1]。 - **按照行方向切片** 如果想要获得整个行的内容,则只需给出该行对应的索引即可;如果希望得到多行组成的子矩阵,则可以在第一个`[]`内使用冒号分隔起始与结束的位置(不包含结束位),如下所示: ```python row_slice = matrix[1][:] # 取得第二整行 [4, 5, 6] multi_rows = matrix[:2] # 前两行 [[1, 2, 3], [4, 5, 6]] ``` - **按照列方向切片** 对于列向量来说,情况稍微复杂一点,因为直接通过简单的语法无法做到这一点。但是有一种技巧性的做法就是先转置再取行的方式间接达到目的: ```python import numpy as np col_vector = list(np.array(matrix).T[1]) # 转置后取得原数组的第二个“行”,实际上是原来的第二列 [2, 5, 8] ``` 另外一种更直观的方法是遍历每一行并从中选取所需的列元素形成新的列表: ```python col_slice = [row[1] for row in matrix] # 同样可以获得到 [2, 5, 8] ``` #### 多重切片组合 还可以同时应用多个切片表达式来进行更加复杂的操作,比如一次性取出矩形区域内的所有元素: ```python sub_matrix = [row[1:3] for row in matrix[0:2]] # 结果为[[2, 3], [5, 6]], 表示前两行每行的第2至第3个元素构成的新矩阵 ``` 以上就是在Python中处理二维列表的一些基本方式,这些技术同样适用于更高维度的情况。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值