python三维列表降多个二维
时间: 2023-07-06 20:13:50
浏览: 15
可以使用Python中的[列表](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)推导式将一个三维[列表](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)降为多个二维[列表](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)。假设三维[列表](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)名为lst,且三维[列表](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)的形状为(lst_shape[0], lst_shape[1], lst_shape[2]),则可以按照如下方式将其降为多个二维列表:
```python
lst = [[[1, 2], [3, 4], [5, 6]],
[[7, 8], [9, 10], [11, 12]],
[[13, 14], [15, 16], [17, 18]]] # 一个三维列表
n = 2 # 将三维列表降为n个二维列表
# 利用列表推导式将三维列表降为n个二维列表
sub_lists = [lst[i:i+n] for i in range(0, lst_shape[0], n)]
# 输出每个二维列表
for sub_lst in sub_lists:
print(sub_lst)
这样就完成了将一个三维列表降为多个二维列表的操作。其中,列表推导式用于快速生成一个降维后的列表,range函数用于生成从0开始,步长为n的整数序列。
相关问题
python三维数组拆成多个二维数组
可以使用numpy库中的reshape函数将一个三维数组拆成多个二维数组。假设三维数组名为arr,且三维数组的形状为(shape[0], shape[1], shape[2]),则可以按照如下方式将其拆分成多个二维数组:
```python
import numpy as np
arr = np.random.randn(shape[0], shape[1], shape[2]) # 生成一个随机的三维数组
```
python 三维数组拆分为多个二维数组
假设我们有一个三维数组arr,其形状为(m,n,p),我们想将其拆分为多个二维数组,每个二维数组的形状为(n,p),即沿着第一个维度(m)拆分。可以使用以下代码实现:
```python
import numpy as np
arr = np.array([[[1,2,3],[4,5,6]],
[[7,8,9],[10,11,12]],
[[13,14,15],[16,17,18]]])
# 沿着第一个维度拆分为多个二维数组
arr_list = np.split(arr, arr.shape[0], axis=0)
# 打印每个二维数组的形状和内容
for i in range(len(arr_list)):
print(f"arr_list[{i}] shape: {arr_list[i].shape}")
print(arr_list[i])
```