Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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("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' 방법을 적용하여 반복됩니다.

  • 초기화된 값은 빈 사전에 추가됩니다.

  • 이것은 콘솔에 출력으로 표시됩니다.