python list拆分为多个list
时间: 2023-04-26 22:06:11 浏览: 603
可以使用切片(slice)来拆分一个Python列表为多个子列表。例如,假设我们有一个包含10个元素的列表,我们可以使用以下代码将其拆分为两个子列表:
```
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sub_list1 = my_list[:5]
sub_list2 = my_list[5:]
```
这将把my_list列表的前5个元素赋值给sub_list1,将剩余的5个元素赋值给sub_list2。我们也可以使用更多的切片来拆分列表为更多的子列表。
相关问题
将一个大list拆分为多个小list
可以使用Python的切片(slicing)操作来将一个大list拆分为多个小list。具体操作方法如下:
```python
big_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n = 3 # 将big_list拆分为3个小list
small_lists = [big_list[i:i+n] for i in range(0, len(big_list), n)]
print(small_lists)
# 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
```
在上面的代码中,首先定义了一个大list `big_list`,然后将要拆分成的小list的个数赋值给变量`n`。接着使用列表生成式,通过切片操作将`big_list`拆分为多个长度为`n`的小list,并将这些小list存储在一个新的列表`small_lists`中。最后输出`small_lists`即可。
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])
```
输出结果为:
```
arr_list[0] shape: (1, 2, 3)
[[[1 2 3]
[4 5 6]]]
arr_list[1] shape: (1, 2, 3)
[[[ 7 8 9]
[10 11 12]]]
arr_list[2] shape: (1, 2, 3)
[[[13 14 15]
[16 17 18]]]
```
可以看到,我们成功将三维数组拆分为了三个二维数组,每个二维数组的形状为(1,2,3),即(n,p)。