首页 > 解决方案 > Python如何根据范围从整数数组列表中创建子集?

问题描述

我正在寻找一种基于特定范围从整数数组中获取子集的方法例如

Input
array1=[3,5,4,12,34,54]

#Now getting subset for every 3 element

Output
subset= [(3,5,4), (12,34,54)]

我知道这可能很简单,但没有找到获得此输出的正确方法

感谢您的帮助

谢谢

标签: python-3.x

解决方案


你可以使用代码:

from itertools import zip_longest
input_list = [3,5,4,12,34,54]
iterables = [iter(input_list)] * 3
slices = zip_longest(*iterables, fillvalue=None)
output_list =[]
for slice in slices:
    my_list = [slice]
    # print(my_list)
    output_list = output_list + my_list
print(output_list) 

您可以使用来自itertools https://docs.python.org/3.0/library/itertools.html#itertools.zip_longest的 zip_longest 函数


推荐阅读