Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine vordefinierte Liste in Python basierend auf einer String-Eingabe zurückgeben?

Wie kann ich eine vordefinierte Liste in Python basierend auf einer String-Eingabe zurückgeben?

DDD
DDDOriginal
2024-12-18 22:04:15344Durchsuche

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

Rückgabe eines vorgegebenen Werts basierend auf einer Zeichenfolgeneingabe

In Python müssen wir manchmal eine bestimmte Liste basierend auf einer bereitgestellten Zeichenfolge zurückgeben. Dies kann mit verschiedenen Methoden erreicht werden, von denen eine die Nutzung von Wörterbüchern beinhaltet.

Verwendung eines Wörterbuchs

Der einfachste Ansatz besteht darin, ein Wörterbuch zu definieren, in dem Schlüssel die Zeichenfolgeneingaben darstellen und entsprechende Werte die sind gewünschte Listen.

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

Um die gewünschte Liste abzurufen, greifen Sie einfach auf die entsprechende Taste zu:

get_ext['video']
# Output: ['mp4', 'mkv']

Verwenden einer Funktion mit das Wörterbuch

Wenn Sie eine funktionsbasierte Lösung bevorzugen, können Sie die get-Methode des Wörterbuchs einer Variablen zuweisen:

get_ext = get_ext.get

Diese Funktion gibt die Liste für den angegebenen Schlüssel oder „Keine“ zurück wenn der Schlüssel nicht existiert.

get_ext('video')
# Output: ['mp4', 'mkv']

Verwenden eines benutzerdefinierten Standardwerts

Um einen benutzerdefinierten Standardwert für unbekannte Schlüssel anzugeben, sollten Sie die Verwendung in Betracht ziehen eine Wrapper-Funktion:

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

    return types.get(file_type, [])

Diese Funktion gibt eine leere Liste für unbekannte Schlüssel zurück.

Adressierung von Leistungsbedenken

Für leistungsbewusste Anwendungen ist es erwähnenswert, dass die Das Typenwörterbuch in der Wrapper-Funktion wird bei jedem Aufruf der Funktion neu erstellt. Um dies zu optimieren, können Sie eine Klasse erstellen und das Typenwörterbuch im Konstruktor initialisieren, um sicherzustellen, dass es nur einmal erstellt wird.

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()

Dieser klassenbasierte Ansatz ermöglicht eine einfache Änderung der erkannten Dateitypen bei gleichzeitiger Beibehaltung der Leistungseffizienz .

Das obige ist der detaillierte Inhalt vonWie kann ich eine vordefinierte Liste in Python basierend auf einer String-Eingabe zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn