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
Freigeben: 2024-12-18 22:04:15
Original
342 Leute haben es durchsucht

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']
}
Nach dem Login kopieren

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

get_ext['video']
# Output: ['mp4', 'mkv']
Nach dem Login kopieren

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
Nach dem Login kopieren

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']
Nach dem Login kopieren

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, [])
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage