首页 > 解决方案 > 从列表列表中提取第 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],但它返回列表列表的第一个元素(而不是列表列表的第一个元素)。

标签: python

解决方案


您可以在列表理解中使用双 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]]]

推荐阅读