Maison >développement back-end >Tutoriel Python >Structure de données écrite pour les maîtres de programmation Python

Structure de données écrite pour les maîtres de programmation Python

coldplay.xixi
coldplay.xixiavant
2020-11-04 17:13:541762parcourir

La colonne

tutoriel vidéo Python présente les points clés auxquels il faut prêter attention dans la programmation Python.

Structure de données écrite pour les maîtres de programmation Python

Comment filtrer les données en fonction de conditions dans les listes, dictionnaires et collections

Cas : Comment filtrer les nombres supérieurs à 0 dans les données de liste suivantes

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

utilise la fonction de filtre. Le premier paramètre est une fonction. Vous pouvez également transmettre une expression lambda comme le code suivant.

list(filter(lambda x: x >= 0, data))复制代码

Une autre solution consiste à utiliser la génération de liste comme indiqué ci-dessous. Cette solution est plus efficace que la solution précédente.

print([x for x in data if x >= 0])复制代码

Des productions de dictionnaires similaires peuvent également être utilisées dans des structures de données telles que des dictionnaires.

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

Comment nommer chaque élément du tuple pour améliorer la lisibilité du programme

Solution : définir des constantes et utiliser des constantes pour indexer les éléments du tuple, comme le code suivant

stu = ('hao', 18, 'male', '1078244513@qq.com')
NAME = 0AGE = 1SEX = 2print(stu[SEX])复制代码

Solution : Utilisez la fonction nomméetuple du package collections Cette fonction renverra la définition d'une nouvelle "classe" et s'utilise comme suit.

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

Comment compter la fréquence d'occurrence des éléments dans une séquence

Problème : Compter le nombre d'occurrences de chaque nombre dans la liste de nombres suivante

from random import randint
data = [randint(0, 20) for _ in range(30)]复制代码

Solution : Définissez un dict (dictionnaire), puis parcourez le tableau.

c = dict.fromkeys(data, 0)复制代码

Le code ci-dessus générera un objet dictionnaire avec différentes valeurs dans les données comme clés et 0 comme valeur.

for x in data:
    c[x] += 1复制代码

Solution : utilisez la fonction Compteur

c2 = Counter(data)复制代码

dans le package de collections. Cette solution peut également facilement obtenir les premiers qui apparaissent le plus.

c2.most_common(3)复制代码

Comment trier les éléments du dictionnaire en fonction de la taille des valeurs dans le dictionnaire

Problème : Trier les valeurs​​dans le dictionnaire suivant

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

Solution : Dans la fonction triée En tant que deuxième paramètre, vous pouvez transmettre un objet fonction, et trié triera en fonction de la valeur de retour de la fonction.

sorted(cj.items(), key=lambda item:item[1])复制代码

Remarque : cette fonction renvoie un nouvel objet dictionnaire

Comment trouver rapidement les clés communes dans plusieurs dictionnaires ?

Tout d'abord, introduisons l'exemple de fonction Python Sampling , qui se trouve dans le package aléatoire. Cela prend un paramètre de type de séquence et un nombre, et renvoie une séquence échantillonnée aléatoirement à partir de la séquence. Le code suivant.

from random import sample
sample('abcdefg', 3)复制代码

Question : Comment obtenir les clés communes des trois collections suivantes.

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

peut accomplir cette tâche en utilisant l'opération d'intersection d'ensembles.

s1.keys() & s2.keys() & s3.keys()复制代码

Comment garder un dictionnaire en ordre ?

Le type OrderedDict du package collections conservera l'ordre dans lequel il est entré dans le dictionnaire.

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer