Heim > Backend-Entwicklung > Python-Tutorial > Python – Filtern Sie ungerade Elemente aus der Werteliste eines Wörterbuchs

Python – Filtern Sie ungerade Elemente aus der Werteliste eines Wörterbuchs

PHPz
Freigeben: 2023-09-01 10:57:03
nach vorne
1497 Leute haben es durchsucht

Python - 从字典的值列表中筛选奇数元素

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

Grammatik

Die folgende Syntax wird im Beispiel verwendet -

items()
Nach dem Login kopieren

Dies ist eine integrierte Methode, mit der ein Ansichtsobjekt zurückgegeben werden kann. Das Objekt besteht aus Schlüsseln mit Wertepaaren.

filter()
Nach dem Login kopieren

Das filter()-Element von Python wird verwendet, um Elemente basierend auf bestimmten Bedingungen zu filtern.

lambda
Nach dem Login kopieren

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

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

Beide obigen Darstellungen veranschaulichen die Logik des Filterns ungerader Elemente aus einer Werteliste.

Verwenden Sie Wörterbuchverständnisse und Listenverständnisse mit if-else-Anweisungen

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.

Beispiel

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

Ausgabe

Filter odd elements from the value lists in dictionary:
{'A': [19, 17], 'B': [61, 71], 'C': [11, 121, 13, 15]}
Nach dem Login kopieren

Verwenden Sie for-Schleifen und Filter() mit Lambda-Funktionen

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.

Beispiel

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

Ausgabe

Filter odd elements from the value lists in dictionary:
 {'A': [1, 3, 5], 'B': [7, 9], 'C': [11, 13, 15], 'D': [17, 19]}
Nach dem Login kopieren

Für Schleifen und Listenverständnisse verwenden

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.

Beispiel

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

Ausgabe

Filtration of odd elements from dictionary value list:
 {'A': [307, 907], 'B': [], 'C': []}
Nach dem Login kopieren

Verwenden Sie Wörterbuchverständnisse und Filter() mit Lambda-Funktionen

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.

Beispiel

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

Ausgabe

ODD NUMBER FILTRATION IN DICTIONARY VALUES:
 {'I': [1, 3, 5], 'II': [7, 9], 'III': [11, 13, 15]}
Nach dem Login kopieren

Verwenden Sie Wörterbuchverständnis und Listenverständnis

Das Programm verwendet rekursive Funktionen und gibt mithilfe von Return-Anweisungen Verständnistechniken zurück.

Beispiel

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

输出

ODD NUMBER FILTRATION IN DICTIONARY VALUES:
 {'list1': [499, 599], 'list2': [699, 799, 899]}
Nach dem Login kopieren

结论

我们讨论了基于从字典中的值列表中过滤奇数元素来解决此问题陈述的各种方法。上述所有示例大多使用综合技术,通过使用某种方法、循环或条件语句在 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!

Quelle:tutorialspoint.com
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