Python – 元素的分组连续范围索引
pythonserver side programmingprogramming更新于 2025/10/23 1:48:17
当需要获取列表中元素的分组连续范围索引时,将创建一个 defaultdict。使用简单的迭代以及 ‘groupby’ 方法、‘len’ 方法、‘list’ 方法和 ‘append’ 方法。
示例
下面是相同的演示 −
from itertools import groupby
from collections import defaultdict
my_list = [63, 12, 84, 91, 52, 39, 25, 27, 20, 11, 0,9]
print("列表为: " )
print(my_list)
my_index = 0
my_result = defaultdict(list)
for key, sub in groupby(my_list):
element = len(list(sub))
my_result[key].append((my_index, my_index + element - 1))
my_index += element
print("结果字典为:")
print(my_result)
输出
列表为:
[63, 12, 84, 91, 52, 39, 25, 27, 20, 11, 0, 9]
结果字典为:
defaultdict(, {63: [(0, 0)], 12: [(1, 1)], 84: [(2, 2)], 91: [(3, 3)], 52: [(4, 4)], 39: [(5, 5)], 25:
[(6, 6)], 27: [(7, 7)], 20: [(8, 8)], 11: [(9, 9)], 0: [(10, 10)], 9: [(11, 11)]})
解释
将所需的包导入到环境中。
定义一个整数列表并显示在控制台上。
将值初始化为 0。
创建一个默认字典。
通过对其应用‘groupby’方法迭代列表。
将初始化的值附加到空字典中。
这显示为控制台上的输出。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

