Python - 元素的分组连续范围索引
当需要获取列表中元素的分组连续索引范围时,会创建一个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'方法来迭代该列表。
初始化值附加到空字典中。
这在控制台上显示为输出。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短