목록 요소의 동일성 검사
Python에서는 다양한 접근 방식을 사용하여 목록 내의 모든 요소가 동일한지 확인하는 것이 가능합니다. 권장되는 방법 중 하나는 itertools.groupby() 함수를 활용하는 것입니다. 이 함수는 동일한 값을 가진 연속 요소를 그룹화하여 그룹 키(요소 값) 및 해당 그룹을 포함하는 일련의 튜플을 반환합니다.
from itertools import groupby def all_equal(iterable): g = groupby(iterable) return next(g, True) and not next(g, False)
이 코드는 목록 내에 그룹이 하나만 있는지 확인하여 모든 그룹이 요소는 동일합니다. 그렇다면 True를 반환합니다. 그렇지 않으면 단락 평가 속성을 사용하여 False를 반환합니다.
또는 groupby() 없이 더 간결한 솔루션을 사용할 수 있습니다.
def all_equal(iterator): iterator = iter(iterator) try: first = next(iterator) except StopIteration: return True return all(first == x for x in iterator)
이 접근 방식은 반복자를 초기화하고 첫 번째 요소. 그 후, 나머지 요소를 반복하여 첫 번째 요소와 비교합니다. 차이점이 발견되면 함수는 False를 반환합니다. 그렇지 않으면 True를 반환합니다.
이러한 방법은 효율적이지만 고려할 수 있는 대체 단일 라이너가 있습니다.
이러한 대안은 메모리 집약도가 낮고 성능 특성이 다를 수 있습니다. 그러나 잠재적인 메모리 복사본, 목록의 성격에 따라 효율성이 달라지는 등의 한계를 고려하는 것이 중요합니다.
위 내용은 Python 목록의 모든 요소가 동일한지 어떻게 효율적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!