ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列入力に基づいて事前定義されたリストを返すにはどうすればよいですか?
Python では、指定された文字列に基づいて特定のリストを返す必要がある場合があります。これはさまざまな方法を使用して実現できますが、そのうちの 1 つは辞書の活用です。
最も簡単なアプローチは、キーが文字列入力を表し、対応する値が文字列である辞書を定義することです。
get_ext = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] }
必要なリストを取得するには、適切なリストにアクセスするだけです。 key:
get_ext['video'] # Output: ['mp4', 'mkv']
関数ベースのソリューションを希望する場合は、辞書の get メソッドを変数に割り当てることができます:
get_ext = get_ext.get
この関数は、指定されたキーのリストを返すか、キーがリストされていない場合は None を返します。
get_ext('video') # Output: ['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()
このクラスベースのアプローチにより、パフォーマンス効率を維持しながら、認識されたファイル タイプを簡単に変更できます。 .
以上がPython で文字列入力に基づいて事前定義されたリストを返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。