>  기사  >  백엔드 개발  >  Python - 사전에서 특정 중첩 수준 항목 가져오기

Python - 사전에서 특정 중첩 수준 항목 가져오기

PHPz
PHPz앞으로
2023-08-20 14:37:13779검색

Python - 从字典中获取特定的嵌套级别项

Python에서는 사전을 사용하여 키-값 쌍을 저장할 수 있으므로 데이터를 쉽게 구성하고 효율적으로 액세스할 수 있습니다. 때로는 사전의 중첩된 수준에서 특정 항목을 검색해야 할 수도 있습니다. isinstance()와 재귀적 메서드 및 dict.get() 메서드를 사용하여 사전에서 중첩된 수준 항목을 가져올 수 있습니다. 이 기사에서는 특정 중첩 수준에서 Python 사전에서 항목을 가져오는 다양한 방법을 살펴보겠습니다.

중첩 사전

중첩 사전은 다른 사전을 값으로 포함하는 사전입니다. 이를 통해 데이터가 트리와 같은 방식으로 구성되는 계층 구조를 생성할 수 있습니다. 계층 구조의 각 수준은 키-값 쌍을 나타내며 값은 또 다른 사전입니다. 이러한 구조의 항목에 액세스하려면 트리 수준을 탐색하는 특정 방법이 필요합니다.

방법 1: 재귀 사용

재귀 방법을 사용하면 각 수준을 명시적으로 지정하지 않고도 사전 내의 중첩 수준에서 항목을 쉽게 검색할 수 있으며, 특히 복잡한 데이터 구조를 처리할 때 유연하고 효율적인 솔루션을 제공합니다.

알고리즘

  • 함수를 정의하고 이를 get_nested_item이라고 부르겠습니다. 이 함수는 사전 데이터와 중첩 수준을 나타내는 키 목록이라는 두 개의 매개변수를 허용합니다.

  • 키 목록이 비어 있는지 확인하세요. 비어 있으면 원하는 중첩 수준의 값을 나타내는 데이터가 반환됩니다.

  • 그렇지 않으면 키 목록에서 첫 번째 키를 가져옵니다

  • 데이터 사전에 키가 있는지 확인하세요. 있는 경우 get_nested_item 함수는 해당 키에 해당하는 값을 새 데이터 매개변수로 사용하고 키 목록의 나머지 키를 사용하여 재귀적으로 호출됩니다.

  • 키가 존재하지 않으면 None 또는 기본값을 반환하여 항목을 찾을 수 없음을 나타냅니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

아래 예에서는 데이터 사전과 키 목록을 매개변수로 받아들이는 get_nested_item 함수를 정의합니다. 키 목록이 비어 있는지 확인하고, 비어 있으면 데이터 값을 반환합니다. 그렇지 않으면 키 목록에서 첫 번째 키를 가져와 데이터 사전에 있는지 확인합니다. 존재하는 경우 해당 값을 새 데이터로 사용하고 키 목록의 나머지 키를 사용하여 get_nested_item 함수를 재귀적으로 호출합니다. 키를 찾을 수 없으면 None이 반환됩니다.

으아악

출력

으아악

방법 2: isinstance() 및 재귀 사용

isinstance() 함수는 Python에서 객체의 유형을 확인하는 데 사용됩니다. 객체가 지정된 유형의 인스턴스이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 우리는 이 함수를 재귀와 함께 사용하여 중첩된 사전의 수준을 동적으로 탐색할 수 있습니다.

알고리즘

  • 함수를 정의하고 이를 get_nested_item이라고 부르겠습니다. 이 함수는 사전 데이터와 중첩 수준을 나타내는 키 목록이라는 두 개의 매개변수를 허용합니다.

  • 키 목록이 비어 있는지 확인하세요. 비어 있으면 원하는 중첩 수준에 대한 값을 나타내는 데이터가 반환됩니다.

  • 그렇지 않으면 키 목록에서 첫 번째 키를 가져옵니다.

  • isinstance(data, dict)를 사용하여 데이터가 사전인지 확인하세요. 그렇다면 해당 키의 값을 새 데이터 매개변수로 사용하고 나머지 키 목록을 매개변수로 사용하여 get_nested_item 함수를 재귀적으로 호출하세요.

  • 데이터가 사전이 아니거나 키가 존재하지 않는 경우 None 또는 기본값을 반환하여 항목을 찾을 수 없음을 나타냅니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

아래 예에서는 isinstance(data, dict)를 사용하여 데이터가 사전인지 확인합니다. 그렇다면 계속해서 get_nested_item을 재귀적으로 호출합니다. 이 검사를 통해 유효한 사전 계층 구조를 탐색할 때 존재하지 않는 키에 액세스하는 오류를 방지할 수 있습니다.

으아악

출력

으아악

방법 3: dict.get() 메서드 사용

dict.get() 메서드는 사전에서 값을 검색하고 키를 찾을 수 없는 경우 기본값을 제공하는 유용한 방법입니다. 이는 특히 중첩된 사전을 처리하거나 키가 존재하는지 여부를 알 수 없는 경우 사전 색인을 직접 사용하는 것보다 더 깨끗하고 안전한 접근 방식입니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

아래 예에는 직원 정보를 나타내는 중첩된 사전 company_data가 있습니다. company_data.get('employees', {}).get('John', {}).get('position', ' Unknown') 직원 'John'의 위치를 ​​검색합니다. 각 수준에서 dict.get()을 사용하여 코드가 오류를 발생시키지 않고 누락된 키를 쉽게 처리하도록 보장합니다. 알 수 없음'이 반환됩니다.

으아악

출력

으아악

결론

이 기사에서는 재귀, isinstance 및 재귀 메서드와 dict.get() 메서드를 사용하여 사전에서 특정 중첩 수준 항목을 가져오는 방법에 대해 논의했습니다. dict.get() 메서드는 키의 존재 여부가 확실하지 않거나 누락된 키를 쉽게 처리하려는 경우에 특히 유용합니다. isinstance() 함수와 재귀를 사용하면 중첩된 사전을 효율적으로 탐색할 수 있습니다.

위 내용은 Python - 사전에서 특정 중첩 수준 항목 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제