ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列入力に基づいて事前定義されたリストにアクセスするにはどうすればよいですか?

Python で文字列入力に基づいて事前定義されたリストにアクセスするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 20:42:17461ブラウズ

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']

辞書を内側にラップする機能:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。