N개의 가장 큰 사전 키를 추출하는 Python 프로그램

王林
풀어 주다: 2023-09-08 22:29:02
앞으로
1103명이 탐색했습니다.

N개의 가장 큰 사전 키를 추출하는 Python 프로그램

Python 사전은 다양한 작업에 사용할 수 있는 데이터 구조이므로 다용도 프로그래밍 도구입니다. 이는 키-값 쌍의 형태로 데이터를 저장합니다. 즉, 각 데이터에는 고유한 키로 태그가 지정될 수 있습니다. 사전의 키는 액세스, 수정 및 삭제할 수 있는 다양한 값과 연결된 식별자입니다.

키는 작업에 따라 다양한 순서로 정렬 및 추출될 수 있습니다. 이 글에서는 N 최대 사전 키를 추출하는 유사한 개념에 대해 논의하겠습니다. 우리는 이러한 고유 키를 사용하여 관련 데이터를 추출합니다.

문제 이해하기

임의의 고유 키 값이 있는 사전을 고려하면, 우리의 임무는 사전에서 최대 N 키를 분리하는 것입니다. 예를 통해 이해해 봅시다 -

입력 및 출력 시나리오

다음 값을 가진 사전을 고려해 보겠습니다. -

으아악

N의 값이 4이면 원래 사전에서 가장 큰 키 값 4개를 반환합니다.

으아악

최대 N개의 키 값을 반환합니다. 이제 문제 설명을 이해했으므로 몇 가지 해결 방법에 대해 논의해 보겠습니다.

반복 및 Max() 사용

이것은 사전에서 N개의 가장 큰 키를 추출하는 기본 방법입니다. 최대값과 참조값을 각각 저장하기 위해 사전과 두 개의 빈 목록을 만듭니다. 그런 다음 “N” 값을 전달하고 반복 및 “.items()” 메서드를 사용하여 키 값을 추출합니다.

추출된 값은 목록(Maxlis)에 저장됩니다. 추가된 사전 키 "N"을 다시 반복하여 모든 최대값을 추출합니다. 각 반복에서 가장 큰 키 값이 목록에서 제거되고 가장 큰 N개 키(Nlargest)가 있는 목록이 인쇄됩니다.

다음은 반복 및 추가를 사용하여 N개의 가장 큰 사전 키를 추출하는 예입니다. -

으아악

출력

으아악

Sorted() + Lambda를 사용하여 반복 사용

이것은 N개의 가장 큰 키를 추출하는 고급 방법입니다. 이 메서드에서는 반복 및 ".items()" 메서드를 사용하여 모든 사전 키를 검색합니다. "sorted()" 함수의 "key" 매개변수를 사용하여 추출 논리를 처리할 다른 함수(lambda)를 지정합니다. 람다 함수는 키를 추출하고 sorted() 함수는 키를 순서대로 정렬합니다.

"reverse = True" 절은 키 값을 내림차순으로 정렬합니다. 마지막으로 slicing 기술을 사용하여 사전에서 첫 번째 N 키만 추출하고 이를 목록(Nlargest)에 저장합니다.

예는 다음과 같습니다 -

으아악

출력

으아악

Sorted() + Itemgetter() 사용

항목을 추출하기 위해 람다 함수를 사용하는 대신 operator 모듈에서 "itemgetter()" 함수를 사용할 수 있습니다. 반복 및 키 정렬 개념은 동일하지만 "key" 매개변수에 "itemgetter()" 함수가 할당되어 키를 추출합니다.

예는 다음과 같습니다 -

으아악

출력

으아악

추가 솔루션 및 통찰력

"heapq" 모듈의 "nlargest()" 함수 사용 및 함수 기반 정렬을 포함하여 사전에서 가장 큰 N 키를 추출하는 여러 가지 기술이 있습니다. "lambda" 및 "itemgetter" 기능에 대한 올바른 값을 설정하는 것은 항목 정렬 및 추출을 위한 단계를 설정하므로 매우 중요합니다.

결론

이 기사에서는 N개의 최대 사전 값을 추출하는 다양한 솔루션에 대해 논의했습니다. 가장 큰 키를 분리하고 연결하는 기본적이고 조잡한 접근 방식부터 시작합니다. 그런 다음 상세하고 최적화된 프로그램을 생성하기 위한 몇 가지 고급 솔루션에 대해 논의합니다. sorted(), 람다, itemgetter, max() 함수의 응용에 대해 배웠습니다.

위 내용은 N개의 가장 큰 사전 키를 추출하는 Python 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿