목록에서 연속 숫자 식별
작업은 목록을 연속 숫자 그룹으로 나누는 것입니다. 각 그룹에는 연속된 숫자만 포함되어야 합니다. 출력은 개별 숫자를 유지해야 하며 이를 범위로 결합해서는 안 됩니다.
해결책:
Python에서는 사용자 정의 키와 함께 내장된 groupby 함수를 사용할 수 있습니다. 달성하다 this:
from itertools import groupby from operator import itemgetter ranges = [] for key, group in groupby(enumerate(data), lambda (index, item): index - item): group = map(itemgetter(1), group) if len(group) > 1: ranges.append(xrange(group[0], group[-1])) else: ranges.append(group[0])
설명:
샘플 출력:
data = [2, 3, 4, 5, 12, 13, 14, 15, 16, 17, 20] ranges = [xrange(2, 5), xrange(12, 17), 20]
위 내용은 Python 목록에서 연속 숫자를 식별하고 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!