获取 Python 中每个子列表的第一个元素


Python 中的列表也可以包含列表作为其元素。这些嵌套列表称为子列表。在本文中,我们将解决从给定列表中检索每个子列表的第一个元素的挑战。

使用 for 循环

这是一种非常简单的方法,我们遍历子列表并在其中获取索引为 0 的项。为此目的使用 for 循环,如下所示。

示例

 实时演示

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("First Items from sublists:\n")
for item in Alist:
   print((item[0]))

输出

运行以上代码,我们得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
Mon
Tue
12

使用 zip 和 *

* 允许我们解包子列表并访问子列表的各个元素。因此,在这种情况下,我们将使用 * 并从每个元素中访问索引为 0 的元素。然后,我们最终使用 zip 将结果压缩成一个包含子列表中第一个元素的列表。

示例

 实时演示

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(list(zip(*Alist))[0]))

输出

运行以上代码,我们得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
['Mon', 'Tue', 12]

使用 itemgetter

itemgetter(i) 构造一个可调用对象,它将可迭代对象(如字典、列表、元组等)作为输入,并从中获取第 i 个元素。因此,我们可以使用此方法使用 map 函数获取列表的第一个元素,如下所示。

示例

 实时演示

from operator import itemgetter

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(map(itemgetter(0), Alist)))

输出

运行以上代码,我们得到以下结果:

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]

First Items from sublists:

['Mon', 'Tue', 12]

更新于: 2020年9月9日

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告