获取 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]
广告