>백엔드 개발 >파이썬 튜토리얼 >Python에서 문자열 입력을 기반으로 미리 정의된 목록에 어떻게 액세스할 수 있습니까?

Python에서 문자열 입력을 기반으로 미리 정의된 목록에 어떻게 액세스할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-18 20:42:17462검색

How Can I Access a Predefined List Based on a String Input in Python?

문자열 이름으로 변수 액세스

문제:

다음을 반환하는 함수를 원합니다. 문자열 입력을 기반으로 사전 정의된 목록입니다. 예를 들어 문자열 "audio"가 주어지면 함수는 ['mp3', 'wav'] 목록을 출력해야 합니다.

사전을 사용하는 가장 쉬운 솔루션:

표준 사전은 이 요구 사항을 쉽게 충족할 수 있습니다.

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']
}

get_ext['video']  # Returns ['mp4', 'mkv']

사용 함수:

고급 애플리케이션의 경우 함수를 활용하는 것이 더 나을 수 있습니다.

사전의 Get 메서드 할당:

get_ext = get_ext.get

get_ext('video')  # Returns ['mp4', 'mkv']

사전을 a 안에 감싸기 기능:

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']
    }

    return types.get(file_type, [])

확장성을 위한 사용자 정의 클래스 생성:

class get_ext(object):
    def __init__(self):
        self.types = {'text': ['txt', 'doc'],
                      'audio': ['mp3', 'wav'],
                      'video': ['mp4', 'mkv']
        }

    def __call__(self, file_type):
        return self.types.get(file_type, [])

get_ext = get_ext()

get_ext('audio')  # Returns ['mp3', 'wav']

이를 통해 파일 형식을 동적으로 수정할 수 있습니다.

get_ext.types['binary'] = ['bin', 'exe']

get_ext('binary')  # Returns ['bin', 'exe']

위 내용은 Python에서 문자열 입력을 기반으로 미리 정의된 목록에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.