Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Article précédent: Contenu à puces du didacticiel Python (chapitre 4)
introduction
Examen de base de certification d'ingénieur Python3 En guise de contre-mesure, il s'agit d'un mémo personnel qui résume le contenu du didacticiel Python (livre) dans des bulletins faciles à mémoriser.
Matériel de référence
Tutoriel Python: https://docs.python.org/ja/3/tutorial/
Chapitre 5: https://docs.python.org/ja/3/tutorial/datastructures.html
Livres: https://www.oreilly.co.jp/books/9784873117539/
"Chapitre 5 Structure des données"
- Score d'examen de base de la certification d'ingénieur Python3
―― 7/40 questions (17,5%) ☆☆☆☆ ★ (Importance: Moyenne +)
--Thème
--Liste
--Taple
--Réunion
--Dictionnaire
--Evaluation par opérateur de comparaison et opérateur booléen
--Comparaison de séquences et d'autres objets
5.1 Informations supplémentaires sur les listes
- Voici toutes les méthodes de l'objet de liste.
Nom de la méthode |
La description |
list.append(x) |
Ajoutez l'élément avec la valeur x à la fin. |
list.extend(L) |
Ajoutez tous les éléments de la liste L jusqu'à la fin. |
list.insert(i, x) |
Ajoutez un élément avec la valeur x à la position de l'index i. |
list.remove(x) |
Supprimez l'élément avec la valeur x et l'index le plus bas. Erreur si l'élément n'existe pas. |
list.pop([i]) |
Supprime et renvoie l'élément à l'index i. L'index peut être omis, et s'il est omis, le dernier élément sera supprimé / renvoyé. |
list.clear() |
Supprimer tous les éléments. |
list.index(x) |
Renvoie l'index minimum de l'élément dont la valeur est x. Erreur si l'élément n'existe pas. |
list.count(x) |
Renvoie le nombre d'éléments avec une valeur de x. |
list.sort(key=None, reverse=False) |
Trier les éléments en place. |
list.reverse() |
Inversez les éléments en place. |
list.copy() |
Renvoie une copie superficielle de la liste. |
5.1.1 Utiliser la liste comme pile
- La pile est le dernier entré, premier sorti.
--Utilisez append (x) pour charger sur la pile.
--Utilisez pop () pour sortir de la pile.
- C'est rapide car c'est une opération à la fin de la liste.
5.1.2 Utiliser la liste comme file d'attente
- Les files d'attente sont premier entré, premier sorti.
--Utilisez insert (0, x) dans la file d'attente.
--Utilisez pop () pour sortir de la file d'attente.
--Slow parce que c'est l'opération en haut de la liste.
- L'implémentation Cue doit utiliser des collections plutôt que des listes.
5.1.3 Inclusion de liste
- ** L'inclusion de liste ** consiste en une expression suivie d'une clause for, suivie de 0 ou plus de clauses for et de clauses if, et le tout est entre [].
-
- carrés = * * [x \ * \ * 2 pour x dans la plage (10)] * # 0 \ * \ * 0 ~ 9 \ * \ * 9 liste incluse
- Les inclusions de liste peuvent contenir des expressions composées et des fonctions imbriquées.
--Utilisation courante de l'inclusion de liste
- Traitez chaque membre de la séquence ou du corps répétable pour générer une nouvelle liste
--Créez une sous-séquence en extrayant les éléments qui correspondent aux conditions
5.1.4 Inclusion de liste imbriquée
- N'importe quelle expression peut être utilisée pour la première expression de la liste.
- Vous pouvez également inclure des listes imbriquées (mettre une autre inclusion de liste dans la première expression).
5.2 Déclaration del
-Vous pouvez utiliser l'instruction ** del ** pour indexer les éléments de la liste.
Les variables peuvent également être supprimées.
-
- del a [0] * # Supprimer l'élément avec l'index 0
-
- del a [2: 4] * # Éléments supprimés avec les index 2 et 3
-
- del a [:] * # Supprimer tous les éléments
-
- del a * # Supprimer la variable a
- Contrairement à pop (), il ne renvoie pas les éléments supprimés.
--remove () supprime le premier élément dont l'argument et la valeur correspondent.
5.3 Taples et séquences
- ** Taple ** est un type de séquence composé de valeurs séparées par des virgules.
- Comme pour les chaînes et les listes, les opérations d'index et de tranche sont également possibles.
――Définir un taple est appelé tapple pack.
-
- t = (12345, 54321, 'bonjour!') * # () Peut être omis
-
- vide = () * # Tapez avec 0 éléments
-
- singleton = 'bonjour', * # Tapez avec 1 élément (la virgule à la fin est le point)
--Lorsque le taple est sorti, il est placé entre ().
--Print (t) # (12345, 54321, 'bonjour!')
- L'attribution d'éléments de tapple à des variables individuelles est appelée ** décompression de séquence **.
-
- x, y, z = t * # La variable x est assignée 12345, y est assignée 54321 et z est assignée «bonjour!».
- Faites correspondre le nombre de variables et le nombre d'éléments de tapple.
- Des affectations multiples ** peuvent être effectuées en utilisant le déballage.
-
- x, y, z = 1, 2, 3 * # Remplacez la valeur de taple (1, 2, 3) pour chaque élément de taple (x, y, z)
- Différence entre tapple et liste
--Immmuable.
- Les éléments peuvent inclure des objets modifiables tels que des listes.
- Chaque élément est généralement accessible par décompression ou indexation.
- Les éléments de différents types de données sont souvent mélangés.
5.4 ensemble
- ** Set ** est une collection d'éléments qui ne se chevauchent dans aucun ordre.
--Python a un ** objet set **, qui est créé à l'aide des fonctions {} et ** set () **.
--Utilisez set () pour générer un ensemble vide.
- Vous pouvez écrire des ** inclusions d'ensemble ** ainsi que des inclusions de liste.
- a = {x for x in 'abracadabra' if x not in 'abc'}
- Prend en charge les opérations mathématiques telles que les sommes, les intersections, les différences et les différences symétriques.
Régler l'opération |
La description |
a in x [Jugement d'existence] |
Vrai si l'ensemble a a un élément x(vrai) Si ce n'est pas faux(faux) |
a | b [somme] |
Un ensemble d'éléments en a ou b |
a - b [différence] |
Un ensemble d'éléments qui sont dans a mais pas dans b |
a & b [Traversée] |
Un ensemble d'éléments en a et en b |
a ^ b [Différence de symétrie] |
Un ensemble d'éléments dissemblables dans a ou b |
5.5 Dictionnaire
- ** Dictionary ** est une collection non triée de paires «clé: valeur».
- tel = {'jack': 4098, 'sape': 4139}
-
- print (tel ['jack']) * Renvoie # 4098
-
- print (tel) * # {'jack': 4098, 'sape': 4139} est retourné
-
- vide = {} * # dictionnaire vide
- Les clés ne sont pas dupliquées et tout corps immuable peut être utilisé.
--Chaîne de caractères
--Valeur numérique
--Taple (n'inclut pas les objets variables)
- Spécifiez une clé pour ajouter, supprimer et confirmer l'existence du dictionnaire.
-
- tel ['guido'] = 4127 * # tel sera ajouté avec 'guido': 4127
-
- del tel ['jack'] * # tel supprime 'jack': 4098
-
- 'sape' dans tel * # Existence: True
-
- 'test' dans tel * # Existence: False
- ** Vous pouvez obtenir l'itérable de la liste de clés avec la méthode keys () **.
-
- keylist = list (tel.keys ()) * # Récupère la liste des clés au format liste
-
- keysort = sorted (tel.keys ()) * # Récupère la liste des clés au format de liste triée
- En passant, bien que ce ne soit pas dans le tutoriel, vous pouvez obtenir une liste de valeurs avec la méthode ** values () **.
- ** dict () Vous pouvez créer un dictionnaire à partir de taples avec le constructeur **.
-
- tel = dict ([('jack', 4098), ('sape', 4139)]) * # tel = {'jack': 4098, 'sape': 4139}
- Comme les listes et les taples, il existe également des ** inclusions de dictionnaire **.
-
- dic = {x: x \ ** 2 for x in (2, 4, 6)} * # dic = {2: 4, 4: 16, 6: 36} Identique à
5.6 Technique en boucle
- Vous pouvez utiliser la méthode ** items () ** du dictionnaire pour obtenir une liste de (clé, valeur) tapples (répétables).
-Vous pouvez obtenir une liste de (index, valeur) tapples (répétables) en passant une séquence à la fonction ** enumerate () **.
- ** Si vous passez deux séquences ou plus à la fonction zip () **, vous pouvez obtenir une liste de tapples (répétables) de (valeur de la séquence 1, valeur de la séquence 2 ...).
-Vous pouvez obtenir une liste d'éléments (objets répétables) dans l'ordre d'index inverse en passant une séquence à la fonction ** reverse () **.
- Le contenu de la séquence d'origine n'est pas réécrit.
- Notez que contrairement à sort () ci-dessous, la liste n'est pas renvoyée.
-Vous pouvez obtenir une nouvelle liste d'éléments triés en passant une séquence à la fonction ** sort () **.
- Le contenu de la séquence d'origine n'est pas réécrit.
5.7 Informations supplémentaires sur les conditions
- Les opérateurs utilisés pour juger de la condition incluent ** opérateur numérique **, ** opérateur de comparaison ** et ** opérateur booléen **.
--Le résultat du jugement de la condition peut être refusé par ** not **.
opérateur |
La description |
Opérateur de comparaison |
==, !=, <, <=, >=, >Il y a d'autres que |
a in x |
Vrai si a est inclus dans la séquence x(vrai) |
a not in x |
Vrai si a n'est pas inclus dans la séquence x(vrai) |
a is x |
Vrai si a et b sont la même instance(vrai) |
a is not x |
Vrai si a et b ne sont pas la même instance(vrai) |
Opérateur booléen |
Alias, opérateur de court-circuit |
A and B |
A et B sont tous les deux vrais(vrai)Alors vrai(vrai) |
A or B |
A ou B est vrai(vrai)Alors vrai(vrai) |
not A |
A est vrai(vrai)Puis faux(faux) A est faux(faux)Alors vrai(vrai) |
--La priorité des opérateurs est opérateur numérique> opérateur de comparaison> non> et> ou
Vous pouvez contrôler la priorité en la plaçant entre ().
- Les opérateurs de comparaison peuvent être ** chaînés **.
-
- si a <b == c: * # (a <b) et (b == c)
- L'opérateur booléen évalue de droite à gauche et se termine lorsque l'évaluation est décidée.
- A and B and C
--Si A et B sont faux et que C n'est pas évalué
- A or B or C
--Si A ou B est Vrai, ou C n'est pas évalué
- Si une valeur générale est utilisée à la place d'une valeur booléenne, la valeur de retour de l'opérateur de court-circuit sera le dernier argument évalué.
- Les résultats des expressions booléennes telles que les comparaisons peuvent être affectés à des variables.
- Vous ne pouvez pas attribuer une expression.
5.8 Comparaison de séquence, autre comparaison de type
--La comparaison de magnitude des objets de type séquence est évaluée dans les étapes suivantes.
- Comparez les éléments d'index 0 et évaluez le plus grand comme "grand".
- Si les éléments sont de la même taille, augmentez l'indice de +1 et comparez les éléments suivants.
- Répétez l'étape 2 jusqu'à ce que vous trouviez des articles de tailles différentes ou que l'un d'eux se termine.
- Si les deux articles sont de la même taille, ils sont considérés comme étant de la même taille.
- Si l'un d'eux atteint la fin en premier, il est évalué comme "petit".
- La relation d'amplitude des chaînes est comparée par le numéro de point de code Unicode.
--Si les éléments de la séquence sont des séquences, les éléments sont également comparés selon les mêmes règles.
--La comparaison entre des objets de types différents renvoie essentiellement une ** exception TypeError **.
- La comparaison des valeurs numériques (int et float, etc.) est possible.
- Dans certains cas, vous pouvez utiliser la méthode de comparaison appropriée fournie par l'objet.
Article suivant: Contenu à puces du didacticiel Python (chapitre 6)