ホームページ >バックエンド開発 >Python チュートリアル >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']
辞書を内側にラップする機能:
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 中国語 Web サイトの他の関連記事を参照してください。