Heim >Backend-Entwicklung >Python-Tutorial >Für Python-Programmiermeister geschriebene Datenstruktur
In der Spalte „Python-Video-Tutorial“ werden die wichtigsten Punkte vorgestellt, auf die bei der Python-Programmierung geachtet werden muss.
So filtern Sie Daten basierend auf Bedingungen in Listen, Wörterbüchern und Mengen
Fall: So filtern Sie Zahlen größer als 0 in den folgenden Listendaten herausdata = [1, -1, 2, 3, 4, 7]复制代码
list(filter(lambda x: x >= 0, data))复制代码Eine andere Lösung besteht darin, die Listengenerierung wie folgt zu verwenden. Diese Lösung ist effizienter als die vorherige Lösung.
print([x for x in data if x >= 0])复制代码Ähnliche Wörterbuchproduktionen können auch in Datenstrukturen wie Wörterbüchern verwendet werden.
from random import randint d = { x: randint(60, 100) for x in range(1, 21)} {k:v for k, v in d.items() if v >= 90}复制代码So benennen Sie jedes Element im Tupel, um die Lesbarkeit des Programms zu verbessernPlan: Definieren Sie Konstanten und verwenden Sie Konstanten, um Elemente im Tupel zu indizieren, wie zum Beispiel den folgenden Code
stu = ('hao', 18, 'male', '1078244513@qq.com') NAME = 0AGE = 1SEX = 2print(stu[SEX])复制代码
from collections import namedtuple Stu = namedtuple('Stu', ['name', 'age', 'sex', 'email'])# stu = Stu('hao', 18, 'male', '1078244513@qq.com')stu = Stu(name='hao', age=18, sex='male', email='1078244513@qq.com') print(stu.email)复制代码So zählen Sie die Häufigkeit des Auftretens von Elementen in einer SequenzFrage: Zählen Sie, wie oft jede Zahl in der folgenden Zahlenliste vorkommt
from random import randint data = [randint(0, 20) for _ in range(30)]复制代码
c = dict.fromkeys(data, 0)复制代码Der obige Code generiert ein Wörterbuchobjekt mit unterschiedlichen Datenwerten als Schlüssel und 0 als Wert.
for x in data: c[x] += 1复制代码Lösung: Verwenden Sie die Zählerfunktion im Sammlungspaket
c2 = Counter(data)复制代码Mit dieser Lösung können Sie auch ganz einfach die ersten paar ermitteln, die am häufigsten angezeigt werden.
c2.most_common(3)复制代码So sortieren Sie die Elemente im Wörterbuch nach der Größe der Werte im WörterbuchFrage: Sortieren Sie die Werte im folgenden Wörterbuch
cj = {x: randint(60, 100) for x in 'xyzabc'}复制代码
sorted(cj.items(), key=lambda item:item[1])复制代码Hinweis: Diese Funktion gibt ein neues Wörterbuchobjekt zurückWie finde ich schnell den gemeinsamen Schlüssel (Schlüssel) in mehreren Wörterbüchern?Lassen Sie uns zunächst die Sampling-Funktion „sample“ in Python vorstellen, die sich im Zufallspaket befindet. Dies erfordert einen Sequenztypparameter und eine Zahl und gibt eine zufällig aus der Sequenz entnommene Sequenz zurück. Der folgende Code.
from random import sample sample('abcdefg', 3)复制代码
s1 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))} s2 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))} s3 = {x : randint(1, 4) for x in sample('abcdefg', andint(3, 6))}复制代码Diese Aufgabe kann mithilfe der Schnittoperation von Mengen gelöst werden.
s1.keys() & s2.keys() & s3.keys()复制代码Wie halte ich ein Wörterbuch in Ordnung? Der OrderedDict-Typ des Sammlungspakets behält die Reihenfolge der Eingabe des Wörterbuchs bei. Verwandte kostenlose Lernempfehlungen:
Das obige ist der detaillierte Inhalt vonFür Python-Programmiermeister geschriebene Datenstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!