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
531 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!

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