使用Python实现该问题的示例代码:
def group_list_into_ranges(lst, group_size):
"""
将列表按照指定数量分组成范围
:param lst: 待分组列表
:param group_size: 每组的大小
:return: 分组后的列表范围
"""
ranges = []
for i in range(0, len(lst), group_size):
ranges.append((lst[i], lst[min(i + group_size - 1, len(lst) - 1)]))
return ranges
# 示例
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
group_size = 3
ranges = group_list_into_ranges(lst, group_size)
print(ranges) # [(1, 3), (4, 6), (7, 9)]
该函数接受两个参数,一个是待分组的列表,另一个是每组的大小。在函数内部,使用for
循环遍历列表,并使用lst[i]
和lst[min(i + group_size - 1, len(lst) - 1)]
来计算每组的范围,将其添加到ranges
列表中。最后,返回ranges
列表即可。
针对不同的输入,该函数可以输出不同的分组结果。例如,对于示例中的列表lst
和每组大小group_size
为3,函数返回的结果为[(1, 3), (4, 6), (7, 9)]
,表示列表被分为了3个区间:[1, 2, 3]、[4, 5, 6]和[7, 8, 9]。