Maison > développement back-end > Tutoriel Python > Comment puis-je accéder à une liste prédéfinie basée sur une entrée de chaîne en Python ?

Comment puis-je accéder à une liste prédéfinie basée sur une entrée de chaîne en Python ?

Susan Sarandon
Libérer: 2024-12-18 20:42:17
original
458 Les gens l'ont consulté

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

Accès aux variables par nom de chaîne

Problème :

Vous désirez une fonction qui renvoie un liste prédéfinie basée sur une entrée de chaîne. Par exemple, étant donné une chaîne « audio », la fonction doit afficher la liste ['mp3', 'wav'].

Solution la plus simple avec un dictionnaire :

Un dictionnaire standard peut répondre à cette exigence sans effort.

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

get_ext['video']  # Returns ['mp4', 'mkv']
Copier après la connexion

Utilisation Fonctions :

Pour des applications plus avancées, l'utilisation de fonctions peut être préférée.

Attribution de la méthode Get d'un dictionnaire :

get_ext = get_ext.get

get_ext('video')  # Returns ['mp4', 'mkv']
Copier après la connexion

Emballer un dictionnaire dans un Fonction :

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

    return types.get(file_type, [])
Copier après la connexion

Création d'une classe personnalisée pour l'extensibilité :

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']
Copier après la connexion

Cela vous permet de modifier les types de fichiers de manière dynamique.

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

get_ext('binary')  # Returns ['bin', 'exe']
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal