Python – 按元素分組連續範圍索引
當需要獲取列表中元素的連續範圍組索引時,會建立一個預設字典。使用了一個簡單的迭代,以及“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("The list is : " )
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("The resultant dictionary is : ")
print(my_result)輸出
The list is :
[63, 12, 84, 91, 52, 39, 25, 27, 20, 11, 0, 9]
The resultant dictionary is :
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”方法來迭代列表。
將已初始化的值附加到空字典中。
這將作為輸出顯示在控制檯上。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP