Python|在不均匀组中拆分列表
有时,在使用Python时,我们可能会遇到拆分列表的问题。这个问题很常见,并且有很多变化。从长远来看,为流行的变体提供解决方案被证明是好的。让我们讨论某种将列表拆分为其他列表定义的不均匀组的方法。
方法:使用itertools.islice()
+ 列表理解
上述功能的组合可用于执行此任务。在此, islice()
用于执行对列表进行切片的核心任务,而列表推导用于执行将逻辑和迭代绑定在一起的任务。容器被转换为迭代器以加快迭代速度。
# Python3 code to demonstrate working of
# Split list in uneven groups
# using itertools.islice() + list comprehension
from itertools import islice
# initialize list
test_list = [1, 4, 5, 7, 6, 5, 4, 2, 10]
# initialize split list
split_list = [3, 4, 2]
# printing original list
print("The original list is : " + str(test_list))
# printing split list
print("The split list is : " + str(split_list))
# Split list in uneven groups
# using itertools.islice() + list comprehension
temp = iter(test_list)
res = [list(islice(temp, 0, ele)) for ele in split_list]
# printing result
print("The resultant split list is : " + str(res))
输出 :
The original list is : [1, 4, 5, 7, 6, 5, 4, 2, 10]
The split list is : [3, 4, 2]
The resultant split list is : [[1, 4, 5], [7, 6, 5, 4], [2, 10]]