Heim >Backend-Entwicklung >Python-Tutorial >Für Python-Programmiermeister geschriebene Datenstruktur

Für Python-Programmiermeister geschriebene Datenstruktur

coldplay.xixi
coldplay.xixinach vorne
2020-11-04 17:13:541769Durchsuche

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 MengenFür Python-Programmiermeister geschriebene Datenstruktur

Fall: So filtern Sie Zahlen größer als 0 in den folgenden Listendaten heraus

data = [1, -1, 2, 3, 4, 7]复制代码

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))复制代码
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 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])复制代码

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)复制代码
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)]复制代码

Plan: Definieren Sie ein Diktat (Wörterbuch) und durchlaufen Sie dann das Array.

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örterbuch

Frage: Sortieren Sie die Werte im folgenden Wörterbuch

cj = {x: randint(60, 100) for x in 'xyzabc'}复制代码

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])复制代码
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)复制代码

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))}复制代码
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:

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen