📌  相关文章
📜  Python|分别合并列表中的第一个和最后一个元素

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

Python|分别合并列表中的第一个和最后一个元素

给定一个列表列表,其中每个子列表仅包含两个元素,编写一个Python程序以分别合并每个子列表的第一个和最后一个元素,最后输出两个子列表的列表,一个包含所有第一个元素,另一个包含所有最后的元素。

例子:

Input : [['x', 'y'], ['a', 'b'], ['m', 'n']]
Output : [['x', 'a', 'm'], ['y', 'b', 'n']]

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


方法#1:列表理解和zip

# Python3 program to Merge first and last
# elements separately in a list of lists
  
def merge(lst):
      
    return [list(ele) for ele in list(zip(*lst))]
      
# Driver code
lst = [['x', 'y'], ['a', 'b'], ['m', 'n']]
print(merge(lst))
输出:
[['x', 'a', 'm'], ['y', 'b', 'n']]


方法 #2:使用Numpy数组

首先将给定的列表转换为numpy数组,然后返回数组的转置,最后将数组转换为列表。

# Python3 program to Merge first and last
# elements separately in a list of lists
import numpy as np
  
def merge(lst):
    arr = np.array(lst)
    return arr.T.tolist()
      
# Driver code
lst = [['x', 'y'], ['a', 'b'], ['m', 'n']]
print(merge(lst))
输出:
[['x', 'a', 'm'], ['y', 'b', 'n']]