Python – 列表的分块交错
有时,在使用列表时,我们可能会遇到执行合并操作的问题。更简单的版本很容易实现。但是当涉及到实现它的变体时,即我们需要交替地以块交错的情况下,它变成了一项更艰巨的任务。让我们讨论一下可以执行此任务的特定方式。
方法:使用循环+ extend()
可以通过使用上述功能来执行此任务。在此,我们计算所需的迭代次数,然后多次运行循环。我们使用extend() 和指定的变量号在列表中添加元素。
# Python3 code to demonstrate
# Chunked interleave of Lists
# using loop + extend()
# Initializing lists
test_list1 = [4, 5, 6, 8, 10, 11]
test_list2 = [6, 7, 8, 9, 8, 12]
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
# Initializing step
step = 3
# Chunked interleave of Lists
# using loop + extend()
num = len(test_list1)
iters = int(num / step) + 1
res = []
for idx in range(iters):
start = step * idx
end = step * (idx + 1)
res.extend(test_list1[start : end])
res.extend(test_list2[start : end])
# printing result
print ("List after chunked merge : " + str(res))
输出 :
The original list 1 is : [4, 5, 6, 8, 10, 11]
The original list 2 is : [6, 7, 8, 9, 8, 12]
List after chunked merge : [4, 5, 6, 6, 7, 8, 8, 10, 11, 9, 8, 12]