python - 从列表列表中提取第 n 个元素
问题描述
我有一个列表列表,我想从每个子列表中提取第 n 个元素。例如,给定以下列表:
my_list = [[[0, 0], [1, 1]], [[2, 0], [3, 2]], [[2, 0], [3, 3]], [[4, 0], [5, 4]], [[6, 0], [7, 5]]]
我想提取所有保持原始列表结构的第一个元素(列表列表),例如:
all_first_elements = [[[0],[1]], [[2],[3]], [[2],[3]], [[4],[5]], [[6],[7]]]
问题与此类似,但多了一个嵌套列表。
我已经尝试过all_first_elements = [item[0] for item in my_list]
,但它返回列表列表的第一个元素(而不是列表列表的第一个元素)。
解决方案
您可以在列表理解中使用双 for 循环
all_first_elements = [[[item_1[0]] for item_1 in item_0] for item_0 in my_list]
输出将是
[[[0], [1]], [[2], [3]], [[2], [3]], [[4], [5]], [[6], [7]]]
推荐阅读
- reactjs - 功能组件 - 模拟方法或 useRef
- django - 从 django 管理仪表板执行 Django 自定义命令
- prolog - 如何删除简单列表中的重复成员 [序言]
- azure-data-factory-2 - 在长时间运行的 Azure 数据工厂管道上发出警报的方法
- scala - 带有maven的scalapb不生成任何grpc服务类
- forms - Symfony 工作日选择
- machine-learning - 如果训练 ML-NLP 模型是唯一目的,那么在 GPU 上花费是一个不错的选择吗?
- amazon-web-services - AWS ECS 上 dockerized Jenkins 的 DNS 问题和入站规则
- api - 是否可以将 Instagram OAuth 集成到私有 API 中?
- firebase - Firebase 安全 - Apikey