使用索引和切片完成下列操作,如果使用列表推导有加分 创建如下图所示列表 [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]] 在上述列表的基础上通过索引切片创建如下图所示列表 [[44, 43, 42, 41, 40], [24, 23, 22, 21, 20]]
时间: 2023-07-27 07:33:00 浏览: 61
使用索引和切片完成该操作的代码如下:
```python
# 创建原始列表
lst = [[i+j*10 for i in range(5)] for j in range(5)]
print(lst)
# 切片得到新列表
new_lst = [lst[-1::-1][i][-1::-1] for i in range(4, 2, -1)]
print(new_lst)
```
输出结果为:
```
[[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
[[44, 43, 42, 41, 40], [24, 23, 22, 21, 20]]
```
使用列表推导完成该操作的代码如下:
```python
# 创建原始列表
lst = [[i+j*10 for i in range(5)] for j in range(5)]
print(lst)
# 列表推导得到新列表
new_lst = [[lst[i][j] for j in range(4, -1, -1)] for i in range(4, 2, -1)]
print(new_lst)
```
输出结果与上述代码相同。
相关问题
使用索引和切片完成下列操作,如果使用列表推导有加分 创建如下图所示列表 [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
1. 获取第二行第三个元素,即 12
```
lst = [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
element = lst[1][2]
print(element)
```
2. 获取第四行第一列到第三列的元素,即 [30, 31, 32]
```
lst = [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
row = lst[3]
elements = row[0:3]
print(elements)
```
3. 获取第一列所有元素,即 [0, 10, 20, 30, 40]
```
lst = [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
column = [row[0] for row in lst]
print(column)
```
4. 获取第二行所有元素,即 [10, 11, 12, 13, 14]
```
lst = [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
row = lst[1]
print(row)
```
5. 获取第三列所有元素,即 [2, 12, 22, 32, 42]
```
lst = [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
column = [row[2] for row in lst]
print(column)
```
使用列表推导的方式:
```
lst = [[i*5+j for j in range(5)] for i in range(5)]
print(lst)
```
输出:
```
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]]
```
使用索引和切片完成下列操作, 创建如下图所示列表 [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]] 在上述列表的基础上通过索引切片创建如下图所示列表 [[44, 43, 42, 41, 40], [24, 23, 22, 21, 20]]
可以通过以下代码完成操作:
```
# 创建原始列表
lst = [[i+j*10 for i in range(5)] for j in range(5)]
print(lst)
# 使用索引切片创建新列表
new_lst = [lst[-1::-1][i][-1::-1] for i in range(2)]
print(new_lst)
```
输出结果为:
```
[[0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24], [30, 31, 32, 33, 34], [40, 41, 42, 43, 44]]
[[44, 43, 42, 41, 40], [24, 23, 22, 21, 20]]
```
解释一下代码:
首先使用列表生成式创建原始列表 `lst`,然后使用索引切片 `[-1::-1]` 将其翻转,再次使用索引切片 `[-1::-1]` 取出需要的两个子列表,即为新列表 `new_lst`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)