使用Python中基于索引的多列表添加列表元素
列表可以嵌套。这意味着我们将较小的列表作为元素包含在较大的列表中。在本文中,我们解决了将简单列表的元素添加到嵌套列表的元素的挑战。如果列表的长度不同,则较小列表的长度将成为结果列表的最大长度。
以下是完成此操作的各种方法。
使用for循环
在此方法中,我们采用较小列表的长度,并遍历此列表的元素,将其添加到较大列表的元素中。在这里,我们使用append函数将每个元素追加到结果列表中。
示例
simple_list = [25, 35, 45, 55, 65] nested_list = [[5,10], [10], [5,15], [25], [5,10,15],[5,6]] result_list = [] for n in range(len(simple_list)): var = [] for m in nested_list[n]: var.append(m + simple_list[n]) result_list.append(var) print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
输出结果
运行上面的代码给我们以下结果-
The first list : [25, 35, 45, 55, 65] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15], [5, 6]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]
使用enumerate()
enumerate()函数采用列表或元组之类的集合,并将其作为枚举对象返回。在这种方法中,我们首先创建一个具有枚举函数的外部for循环,以获取嵌套列表的每个元素,然后通过内部for循环将它们添加到简单列表中的各个元素中。
示例
simple_list = [25, 35, 45, 55, 65,25] nested_list = [[5,10], [10], [5,15], [25], [5,10,15]] result_list = [] # using enumerate result_list = [[val + simple_list[p] for val in q] for p, q in enumerate(nested_list)] print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
输出结果
运行上面的代码给我们以下结果-
The first list : [25, 35, 45, 55, 65, 25] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]
使用zip()
在这种方法中,我们重复上面的程序,但是使用zip()而不是枚举。zip()将两个列表都作为其输入。
示例
simple_list = [25, 35, 45, 55, 65,25] nested_list = [[5,10], [10], [5,15], [25], [5,10,15]] result_list = [] result_list = [[w + u for w in v ]for u, v in zip(simple_list, nested_list)] print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
输出结果
运行上面的代码给我们以下结果-
The first list : [25, 35, 45, 55, 65, 25] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]