将两个或多个列表合并为一个列表的列表

2022-05-03 00:00:00 多个 列表 并为

另一个经常出现的任务是,当我们有两个或更多的列表时,我们想把它们都收集到一个大的列表中,其中所有较小的列表的第一个项目构成大列表的第一个项目。

例如,如果我有4个列表[1,2,3], ['a', 'b', 'c'], ['h', 'e', 'y'] 和 [4,5,6] ,我们想把这四个列表组成一个新的列表;它将是[[1,'a', 'h',4], [2, 'b', 'e',5], [3, 'c', 'y', 6]] 。

def merge(*args, missing_val=None):
    # missing_val将在其中一个较小的列表比其他列表短时使用。
    # 获取小列表中的最大长度。
    max_length = max([len(lst) for lst in args])
    outList = []
    for i in range(max_length):
        result.append([args[k][i] if i < len(args[k]) else missing_val for k in range(len(args))])
    return outList

相关文章