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 heraus
data = [1, -1, 2, 3, 4, 7]复制代码
Nach dem Login kopieren
Verwenden Sie die Filterfunktion, der erste Parameter ist eine Funktion können Sie auch einen Lambda-Ausdruck wie den folgenden Code übergeben.
list(filter(lambda x: x >= 0, data))复制代码
Nach dem Login kopieren
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])复制代码
Nach dem Login kopieren
Ä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}复制代码
Nach dem Login kopieren
So benennen Sie jedes Element im Tupel, um die Lesbarkeit des Programms zu verbessern
Plan: 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])复制代码
Nach dem Login kopieren
Plan: Verwenden Sie die Namedtuple-Funktion des Collections-Pakets. Diese Funktion gibt die Definition einer neuen „Klasse“ zurück und wird wie folgt verwendet.
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)复制代码
Nach dem Login kopieren
So zählen Sie die Häufigkeit des Auftretens von Elementen in einer Sequenz
Frage: Zählen Sie, wie oft jede Zahl in der folgenden Zahlenliste vorkommt
from random import randint
data = [randint(0, 20) for _ in range(30)]复制代码
Nach dem Login kopieren
Plan: Definieren Sie ein Diktat (Wörterbuch) und durchlaufen Sie dann das Array.
c = dict.fromkeys(data, 0)复制代码
Nach dem Login kopieren
Der obige Code generiert ein Wörterbuchobjekt mit unterschiedlichen Datenwerten als Schlüssel und 0 als Wert.
for x in data:
c[x] += 1复制代码
Nach dem Login kopieren
Lösung: Verwenden Sie die Zählerfunktion im Sammlungspaket
c2 = Counter(data)复制代码
Nach dem Login kopieren
Mit dieser Lösung können Sie auch ganz einfach die ersten paar ermitteln, die am häufigsten angezeigt werden.
c2.most_common(3)复制代码
Nach dem Login kopieren
So sortieren Sie die Elemente im Wörterbuch nach der Größe der Werte im Wörterbuch
Frage: Sortieren Sie die Werte im folgenden Wörterbuch
cj = {x: randint(60, 100) for x in 'xyzabc'}复制代码
Nach dem Login kopieren
Lösung: Der zweite Parameter in der Sortierfunktion Kann in einem Funktionsobjekt übergeben werden. Die Sortierung erfolgt nach dem Rückgabewert der Funktion.
sorted(cj.items(), key=lambda item:item[1])复制代码
Nach dem Login kopieren
Hinweis: Diese Funktion gibt ein neues Wörterbuchobjekt zurück
Wie 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)复制代码
Nach dem Login kopieren
Frage: Wie bekomme ich die gemeinsamen Schlüssel der folgenden drei Sammlungen?
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))}复制代码
Nach dem Login kopieren
Diese Aufgabe kann mithilfe der Schnittoperation von Mengen gelöst werden.
s1.keys() & s2.keys() & s3.keys()复制代码
Nach dem Login kopieren
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:
Python-Video-Tutorial
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!