Ein Wörterbuch ist ein beliebter Datentyp in Python, der über ein Schlüssel-Wert-Paar verfügt und keine Duplikate zulässt. Zum Filtern ungerader Elemente verfügt es über einige integrierte Funktionen wie items(), filter(), lambda und list(), die zum Filtern ungerader Elemente aus der Werteliste im Wörterbuch verwendet werden. Die ungeraden Elemente in der Liste sind diejenigen, die nicht durch 2 teilbar sind.
Zum Beispiel -
Angesichts der Liste [10, 22, 21, 19, 2, 5]
Nach dem Filtern ungerader Elemente aus der Liste:
Das Endergebnis ist [10, 22, 2] (dies sind Elemente, die durch die ganze Zahl 2 teilbar sind).
Die folgende Syntax wird im Beispiel verwendet -
items()
Dies ist eine integrierte Methode, mit der ein Ansichtsobjekt zurückgegeben werden kann. Das Objekt besteht aus Schlüsseln mit Wertepaaren.
filter()
Das filter()-Element von Python wird verwendet, um Elemente basierend auf bestimmten Bedingungen zu filtern.
lambda
Funktion Lambda bietet eine Verknüpfung zum Deklarieren kurzer anonymer Funktionen mit dem Schlüsselwort Lambda. Lambda-Funktionen funktionieren, wenn sie mit dem Schlüsselwort def deklariert werden.
list()
list() ist eine in Python integrierte Funktion, die Listenobjekte erstellt, ein iterierbares Konstrukt akzeptiert und es in eine Liste konvertiert.
x % 2 != 0 or x % 2 == 1
Beide obigen Darstellungen veranschaulichen die Logik des Filterns ungerader Elemente aus einer Werteliste.
Dieses Programm nutzt das Wörterbuchverständnis, um das ursprüngliche Wörterbuch in ein neues Wörterbuch umzuwandeln, indem ungerade Elemente gefiltert werden. Dieses seltsame Element kann durch Verwendung der Listenkomprimierung mit if-else-Anweisungen gefiltert werden.
Im folgenden Beispiel wird das Programm mit einer Funktion namens odd_element gestartet, die einen Parameter namens dictionary akzeptiert. Dieselben Parameter werden bei Verständnistechniken verwendet, nämlich list und dictionary und if-statement, um das Filterwörterbuch für ungerade Elemente in der Werteliste festzulegen. Erstellen Sie dann die Werteliste des Wörterbuchs und speichern Sie sie in einem Variablennamen namens dictionary. Rufen Sie als Nächstes die Funktion mit auf, übergeben Sie die Parameternamen als Wörterbuch mit Schlüssel-Wert-Paaren und speichern Sie sie in der Variablen filter_dict. Abschließend drucken wir das Ergebnis mit Hilfe der Variablen filter_dict aus.
def odd_elements(dictionary): return {key: [x for x in value if x % 2 != 0] for key, value in dictionary.items()} # Create the dictionary dictionary = {'A': [2, 4, 16, 19, 17], 'B': [61, 71, 90, 80, 10], 'C': [11, 121, 13, 14, 15]} filter_dict = odd_elements(dictionary) print("Filter odd elements from the value lists in dictionary:\n", filter_dict)
Filter odd elements from the value lists in dictionary: {'A': [19, 17], 'B': [61, 71], 'C': [11, 121, 13, 15]}
Dieses Programm verwendet eine for-Schleife, die mithilfe der integrierten Methode items() die Schlüssel und Werte von Wörterbuchelementen durchläuft. Anschließend werden ungerade Elemente mithilfe verschachtelter integrierter Funktionen wie list(), filter() und lambda aus der Wörterbuchliste entfernt.
Im folgenden Beispiel verwenden wir eine for-Schleife, um ein Wörterbuch von Variablen zu durchlaufen, die Schlüssel mit einer Werteliste enthalten. Um ungerade Elemente zu filtern, werden drei verschachtelte integrierte Funktionen verwendet, nämlich list(), filter() und lambda() [Diese Funktion setzt die Bedingung auf x%2 != 0 und prüft, ob die angegebene Werteliste eine Ganzzahl ist ist durch 2 teilbar] und speichert es in der Variablen filtered_dictionary. Legen Sie nach dem Filtern ungerader Elemente den Wert von filtered_dictionary in filtered_dictionary fest. Erstellen Sie dann ein Wörterbuch, das aus einer Liste von Schlüsseln und Werten besteht, und speichern Sie es in einem Variablenwörterbuch. Nun wird diese Variable im Argument der aufrufenden Funktion odd_element() gesetzt und in der Variablen filter_dict() gespeichert.
def odd_elements(dictionary): filtered_dictionary = {} # for loop for key, value in dictionary.items(): # Using filter() with lambda filtered_values = list(filter(lambda x: x % 2 != 0, value)) filtered_dictionary[key] = filtered_values return filtered_dictionary # create the dictionary dictionary = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10], 'C': [11, 12, 13, 14, 15], 'D': [16, 17, 18, 19, 20]} filter_dict = odd_elements(dictionary) print("Filter odd elements from the value lists in dictionary:\n", filter_dict)
Filter odd elements from the value lists in dictionary: {'A': [1, 3, 5], 'B': [7, 9], 'C': [11, 13, 15], 'D': [17, 19]}
Das Programm verwendet eine for-Schleife mit der integrierten Methode items(), um das Wörterbuch und die Schlüssel zu durchlaufen. Anschließend verwendet es eine for-Schleife und eine if-Anweisung in einer einzelnen Zeile, die ein Listenverständnis darstellt.
Im folgenden Beispiel starten wir das Programm, indem wir eine Funktion namens filter_odd_elements() definieren, die einen Parameter namens dictionary akzeptiert, um auf ihre Werte zuzugreifen. Als nächstes erstellen Sie ein leeres Wörterbuch in der Variablen filter_dictionary und speichern später das neue Wörterbuch als Ergebnis. Anschließend wird eine for-Schleife verwendet, um jede Werteliste des Wörterbuchs zu durchlaufen. Fahren Sie mit dem Listenverständnis mit for- und if-Anweisungen fort und speichern Sie es in der Variablen filter_values. Tauschen Sie dieselben Variablen in filter_dictionary[key] aus. Geben Sie dann das filter_dictionary zurück, dessen gefiltertes Ergebnis keine ungeraden Elemente enthält. Erstellen Sie ein Wörterbuch mit einer Werteliste und speichern Sie es in der Variablen dict. Eine neue Variable namens f_dictionary speichert die rekursive Funktion, die ein Argument namens dict übergeben hat. Verwenden Sie abschließend die Druckfunktion, die die Variable f_dictionary akzeptiert, um das Ergebnis zu erhalten.
def filter_odd_elements(dictionary): filter_dictionary = {} for key, value in dictionary.items(): # List Comprehension filter_values = [x for x in value if x % 2 != 0] filter_dictionary[key] = filter_values return filter_dictionary # Creation of dictionary dict = {'A': [307, 907], 'B': [100, 200], 'C': [110, 120]} # use the calling function f_dictionary = filter_odd_elements(dict) print("Filtration of odd elements from dictionary value list:\n", f_dictionary)
Filtration of odd elements from dictionary value list: {'A': [307, 907], 'B': [], 'C': []}
Dieses Programm nutzt das Wörterbuchverständnis, um ein Wörterbuch in eine neue Form von Wörterbuch umzuwandeln. Die Methode filter() verwendet die Lambda-Funktion, um ungerade Elemente aus der Werteliste des Wörterbuchs zu entfernen.
Im folgenden Beispiel zeigen wir, wie das Wörterbuchverständnis drei Methoden verwendet, um eine Logik einzurichten, die auf dem Filtern ungerader Elemente in einer Werteliste basiert, und eine for-Schleife verwendet, um jeden Schlüssel und Wert des Wörterbuchs zu durchlaufen.
def odd_elements(dictionary): return {key: list(filter(lambda x: x % 2 == 1, value)) for key, value in dictionary.items()} # Create the dictionary dict_1 = {'I': [1, 2, 3, 4, 5], 'II': [6, 7, 8, 9, 10], 'III': [11, 12, 13, 14, 15]} filter_dict = odd_elements(dict_1) print("ODD NUMBER FILTRATION IN DICTIONARY VALUES:\n", filter_dict)
ODD NUMBER FILTRATION IN DICTIONARY VALUES: {'I': [1, 3, 5], 'II': [7, 9], 'III': [11, 13, 15]}
Das Programm verwendet rekursive Funktionen und gibt mithilfe von Return-Anweisungen Verständnistechniken zurück.
Im folgenden Beispiel verwenden wir eine rekursive Funktion im Programm, um die ungeraden Elemente aus den Werten des Wörterbuchs herauszufiltern und ein neues Wörterbuch mit denselben Schlüsseln und gefilterten Werten zurückzugeben.
def odd_elements(dictionary): return {key: [x for x in value if x % 2 == 1] for key, value in dictionary.items()} # create the dictionary and store the value by odd and even in the list dictionary = {'list1': [100, 200, 300, 499, 599], 'list2': [699, 799, 899, 900, 1000]} filter_dict = odd_elements(dictionary) print("ODD NUMBER FILTRATION IN DICTIONARY VALUES:\n", filter_dict)
ODD NUMBER FILTRATION IN DICTIONARY VALUES: {'list1': [499, 599], 'list2': [699, 799, 899]}
我们讨论了基于从字典中的值列表中过滤奇数元素来解决此问题陈述的各种方法。上述所有示例大多使用综合技术,通过使用某种方法、循环或条件语句在 1-2 行内解决问题。当我们想要通过分配特定条件来过滤数据时,通常会使用程序目的。
Das obige ist der detaillierte Inhalt vonPython – Filtern Sie ungerade Elemente aus der Werteliste eines Wörterbuchs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!