Skip to main content

1. DefledgeddictDict

Detupdict peut être dit être le plus facile de cette bibliothèque et sa définition est également très simple, nous pouvons également voir du nom. Il résout les problèmes les plus courants dans l'utilisation de nos dict, ce qui signifie le cas de la touche . Dans des circonstances normales, lorsque nous obtenons les éléments de DICT, nous devons envisager le cas que la serrure est vide. Si vous ne le considérez pas, lorsque nous obtenons une serrure qui n'existe pas, cela rendra les exceptions du système. Nous pouvons certainement écrire un jugement si reçu, mais c'est beaucoup de problèmes, tels que:

if key in dict: return dict[key]else: return None

Il s'agit de la méthode la plus stupide, dict disponible pour nous avec la valeur par défaut la méthode. Par exemple, nous pouvons écrire:

return dict.get(key, None)

Pour renvoyer automatiquement la valeur par défaut de notre installation lorsque le verrou n'existe pas dans DICT. Cette province a beaucoup de problèmes de problème, mais il y a toujours un problème dans unPas de cas particulier. Par exemple, par exemple, lorsque le verrou est répété, nous souhaitons enregistrer la même valeur avec la même valeur qu'une liste, non seulement une valeur, non seulement une valeur, non seulement une seule valeur. Dans ce cas, il est plus compliqué dans ce cas:

data = [(1, 3), (2, 1), (1, 4), (2, 5), (3, 7)]d = {}for k, v in data: if k in d: d[k].append(v) else: d[k] = [v]
En raison de la valeur de la dict est une liste, nous devons toujours évaluer s'il est vide ou n'utilise pas directement la valeur par défaut, indirectement de Cours, opération, mais toujours pas assez simple:
Ceci n'est pas très utilisé avec si, pour résoudre ce problème parfaitement, nous pouvons utiliser for k, v in data: cur = d.get(k, []) cur.append(v) d[k] = v defaultDictt
: from collections import defaultdictd = defaultdict(list)for k, v in data: d[k].append(v)
Après avoir utilisé le downdict, si la clé n'existe pas, le conteneur retournera automatiquement à la valeur par défaut que nous avons réservée à l'avance. Il convient de noter que la valeur par défaute de défauldict est le type

ou la méthode . Si nous passons int, la valeur par défaut sera définie sur INT (), c'est-à-dire si nous voulons personnaliser ou modifier, nous pouvons avoirUne manière, comme:

d = defaultdict(lambda: 3)for k, v in data: d[k] += v


Deuxièmement, des compteurs

Il s'agit d'un outil très populaire et très puissant, que nous utilisons souvent une utilisation. Dans notre programmation réelle, nous rencontrons souvent un problème, qui est

compter et organiser

Par exemple: lorsque nous analysons le texte, vous recevrez une variété de mots. Parmi eux, il peut y avoir beaucoup de mots longs et ne peut avoir que quelques fois seulement dans tout le texte. Par conséquent, nous voulons calculer une quantité de ce mot apparaissant, seulement quelques fois que le nombre d'apparences apparaît. Cette demande vous rend tous et nous pouvons créer une dicte, puis une approbation à travers ces mots. Initialement, nous devons envisager l'affaire avant que les mots ne soient apparus, si nous disons que la valeur par défaut, devez créer beaucoup de choses. Mais nous avons toujours moins de mesures pour compter moins, si vous utilisez le compteur, cette étape sera réduite à un code de stock.





, nous transmettons directement une liste au compteur DUn formulaire de paramètre comptera automatiquement chacun de nos composants. Si nous voulons filtrer TOPKK, il est également très simple, il nous fournit la méthode la plus_common, nous devons simplement introduire k, vous pouvez: words = ['apple', 'apple', 'pear', 'watermelon', 'pear', 'peach']from collections import Countercounter = Counter(words)>>> print(counter)Counter({'apple': 2, 'pear': 2, 'watermelon': 1, 'peach': 1})

De plus, la configuration de celui-ci, la fonction également reçoit le type de dict. Nous pouvons initialiser un compteur, tel que: counter.most_common(1)[('apple', 2)]

et il prend en charge davantage

éteint c = Counter({'apple': 5, 'pear': 4})c = Counter(apple=4, pear=3), tels que nous pouvons mettre deux compteurs ajoutés, il combinera automatiquement deux comptoirs, le même verrou correspondant à la valeur accumulée. La soustraction est la même, elle sera en mesure de soustraire la valeur réduite et la clé à être réservée et verrouillée dans la réduction sera supprimée. Et il est important de noter que le compteur prend en charge les valeurs comme un nombre négatif.

4 DEQUE


Nous savons tous que la file d'attente est la file d'attente, la deque est également une file d'attente, mais un peu spéciale, est
. Pour les files d'attente, seuls les éléments sont insérés dans la queue et les éléments sont joués dans le NH.Emploi. Étant donné que Deque s'appelle la file d'attente à deux têtes, sa tête et son équipe mettent en charge l'insertion et allumant les éléments. Il est plus flexible que les files d'attente conventionnelles.

Outre l'API, la copie, la copie, l'EXTEND, V.V V.V l'API la plus populaire est également l'API la plus centrale de l'appareil et du POP, des dépenses et de la population. Du nom, nous pouvons voir le flash et la pop et la pop de la même liste et de l'appendeft et de faire caca. Dans la file d'attente à gauche

, ce qui signifie que le titre effectue des activités pop et connectez des activités. C'est facile à comprendre.

Utilisation quotidienne, vraiment des algorithmes à utiliser dans la file d'attente à deux têtes. Dans la plupart des cas, nous utilisons de la deque principalement deux raisons. La première raison est que la dent a reçu Gil Manager, c'était Thème de sécurité . La liste n'a pas de verrouillage gil, donc ce n'est pas un fil. Cela signifie que la liste peut entraîner des problèmes uniformes dans des scènes simultanées et de laqueque. Une autre raison est la suppression de l'asque

Longueur fixe
, lorsque la longueur totale, lorsque nous continuons à ajouter, il allumera automatiquement les données insérées les plus tôt insérées.

Par exemple: lorsque nous avons de grandes données, nous ne connaissons pas son numéro, mais vous pouvez utiliser DEQUE lorsque vous souhaitez conserver le dernier numéro de données spécifié. V. NameduPle

NameduPle est très spécial, y compris le concept
méta programmation

Brève introduction du concept de programmation super méta, nous ne faisons pas trop de plus profondément. En bref, c'est dans une direction d'objet courante. Nous identifions tous des cours, puis créons des instances via la fonction de création de classe. La méta-programmation fait référence à notre définition des catalogues, pas d'un exemple basé sur la catégorie, qui est une classe. Si le moule et les produits finis sont utilisés pour comparer les cours et par exemple, la catégorie est équivalente à la moulle

from collections import dequedque = deque(maxlen=10)# 假设我们想要从文件当中获取最后10条数据for i in f.read(): dque.append(i). NamedTuple est une catégorie très simple que nous pouvons facilement identifier les cours que nous souhaitons.

Son utilisationTrès simple, nous voyons directement l'exemple. Par exemple, si nous voulons identifier une classe d'élèves, cette classe dispose de deux champs de cette classe, puis cette classe sera écrite:

Ceci est juste une mauvaise façon d'écrire, Si vous envisagez la norme, vous devez également identifier des annotations telles que des propriétés et avoir plusieurs codes. Si nous utilisons NameduPle pour simplifier ce travail, voir le code: Nous devons simplement définir une classe

à l'aide de NamedTuple, mais sous la forme de catégories définies manquantes, mais que NamedPTUP est très fort, nous pouvons déterminer les valeurs manquantes en passant dans le paramètre par défaut.

On peut noter que, même si nous identifions trois écoles, nous ne mettons que deux valeurs manquantes. Dans ce cas, Namepale correspond automatiquement à la valeur manquante sur les points et l'âge. En raison de la spécification de Python, class Student: def __init__(self, name=None, score=None, age=None): self.name = name self.score = score self.age = age doit être les paramètres qui doivent être devant les paramètres facultatifs
. Donc, NuamdTupple s'alignera automatiquement.

Détails, notre article introduit l'utilisation de quatre structures de données de DequledictToct, de compteurs, deque et de NamedTuple. De plus, il existe plusieurs autres classes dans la bibliothèque de rassemblement, juste un peu faible, plus avec les raisons de l'espace, ne décrivez pas plus ici . Il s'intéresse à la visualisation des API et des documents pertinents.

Sujets

Catégories