📌  相关文章
📜  Python|获取每个子列表的第一个元素

📅  最后修改于: 2022-05-13 01:55:40.765000             🧑  作者: Mango

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

给定一个列表列表,编写一个Python程序来提取给定列表列表中每个子列表的第一个元素。

例子:

Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
Output : [1, 3, 6]

Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']]
Output : ['x', 'm', 'a', 'u']


方法#1:列表理解

# Python3 program to extract first and last 
# element of each sublist in a list of lists
  
def Extract(lst):
    return [item[0] for item in lst]
      
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
输出:
[1, 3, 6]


方法 #2:使用zip和 unpacking(*)运算符

此方法使用带有 * 的zip或解包运算符,它将“lst”中的所有项目作为参数传递给 zip函数。因此,所有第一个元素将成为压缩列表的第一个元组。因此,返回第 0元素将解决目的。

# Python3 program to extract first and last 
# element of each sublist in a list of lists
  
def Extract(lst):
    return list(list(zip(*lst))[0])
      
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
输出:
[1, 3, 6]

下面给出了另一种使用zip的方法:-

def Extract(lst):
    return list(next(zip(*lst)))


方法 #3:使用itemgetter()

# Python3 program to extract first and last 
# element of each sublist in a list of lists
from operator import itemgetter
  
def Extract(lst):
    return list( map(itemgetter(0), lst ))
      
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
输出:
[1, 3, 6]