You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

忽略偶数行展平二维列表的技术实现需求

问题描述

我有一个形状为(65,2)的二维列表,示例如下:

[[1, 2],
 [2, 3],
 [3, 4],
 [4, 5],
 [5, 6]]

需要忽略其中的偶数行(保留第1、3、5…行),将其展平为形状为(65,)的一维列表,预期输出如下:

[1, 2, 3, 4, 5, 6]
解决方案

普通列表处理

通过切片筛选出所有奇数行(Python索引从0开始,arr[::2]会选取索引为0、2、4…的行,对应原问题的第1、3、5行),再用嵌套列表推导式展平:

# 定义原二维列表
original_list = [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]
# 筛选奇数行并展平
flattened_list = [num for row in original_list[::2] for num in row]
print(flattened_list)

运行结果:

[1, 2, 3, 4, 5, 6]

NumPy数组处理

如果你的数据是NumPy数组(结合问题中提到的“形状”更符合NumPy场景),可以用切片和flatten()方法快速实现:

import numpy as np

# 定义原NumPy数组
original_array = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])
# 筛选奇数行并展平
flattened_array = original_array[::2].flatten()
# 转为普通列表(可选)
print(flattened_array.tolist())

运行结果:

[1, 2, 3, 4, 5, 6]

内容的提问来源于stack exchange,提问作者Mouna Ahmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 10:34:59