Maison  >  Article  >  développement back-end  >  Analyse détaillée de Tuple et Dict en Python

Analyse détaillée de Tuple et Dict en Python

Y2J
Y2Joriginal
2017-05-03 15:59:051686parcourir

Cet article présente principalement les informations pertinentes sur Tuple et Dict en Python. L'article les présente en détail à travers un exemple de code. Je pense qu'il a une certaine valeur de référence pour tous les amis qui en ont besoin peuvent nous rejoindre ci-dessous.

Préface

Cet article enregistre une certaine compréhension de Tuple et Dict dans les types de données Python, ainsi qu'une introduction intégrée aux méthodes. Pas grand chose à dire ci-dessous, jetons un œil à l’introduction détaillée.

Tuple

Caractéristiques : Les données au sein du tuple sont immuables

Définition d'un élément : T = (1,)

>>> T=(1,)
>>> type(T)
<type &#39;tuple&#39;>

Ancêtre spécial : ancêtre "variable"

>>> T=(1,2,3,[1,2,3])
>>> T[3][2] = &#39;vimiix&#39;
>>> T
(1, 2, 3, [1, 2, &#39;vimiix&#39;])

Il semble que l'ancêtre ait changé, mais ce qui a vraiment changé c'est [1, 2, 3] Les éléments de cette liste ont changé, mais l'adresse mémoire de cette liste dans l'ancêtre T n'a pas changé.

Conclusion : ce sont en fait les éléments de l'ancêtre qui contiennent des éléments variables, mais l'adresse mémoire des éléments de l'ancêtre n'a pas changé, donc la soi-disant immuabilité de l'ancêtre signifie que l'adresse mémoire a pointé à par l'élément ne change pas

Dictionnaire Dict

Caractéristiques :

1. Dictionnaire est le seul type de mappage en Python

2. La clé du dictionnaire (KEY) doit être un objet immuable -> Parce que le dictionnaire est stocké dans l'ordinateur via l'algorithme de hachage, la caractéristique de Hash est que la CLÉ est calculée et stockée Si la CLÉ est variable, les données seront désordonnées.

>>> D = {1:3,&#39;vimiix&#39;:88}
>>> type(D)
<type &#39;dict&#39;>
>>> D={[1,2,3]:100}
Traceback (most recent call last):
 File "<pyshell#15>", line 1, in <module>
 D={[1,2,3]:100}
TypeError: unhashable type: &#39;list&#39; (这里提示list是不能被Hash计算的数据类型,因为list是可变的数据类型)
>>>

Comme le montre cette erreur, les clés du dictionnaire ne peuvent utiliser que des objets immuables (l'ancêtre est OK), mais il n'y a pas une telle exigence pour les valeurs du dictionnaire

Les paires clé-valeur sont séparées par deux points ':', chaque paire est séparée par une virgule',', et toutes sont entourées d'accolades'{}'

Les paires clé-valeur dans le dictionnaire ne sont pas dans l'ordre, elles ne sont donc pas accessibles par index. La valeur correspondante ne peut être obtenue que via la clé

Extension : Si la même clé apparaît. pendant le processus de définition, la dernière sera conservée lors du stockage des paires clé-valeur)

>>> D= {1:2,1:3}
>>> D
{1: 3}

Création et accès

Le. première façon de créer : créez directement en incluant des paires clé-valeur entre accolades

La deuxième façon de créer : utilisez la fonction intégrée dict() pour créer, faites attention ! dict()Il ne peut y avoir qu'un seul paramètre entre parenthèses, et toutes les paires clé-valeur doivent être entourées

(1)

>>> D =dict((1,2),(3,4),(5,6))
Traceback (most recent call last):
 File "<pyshell#20>", line 1, in <module>
 D =dict((1,2),(3,4),(5,6))
TypeError: dict expected at most 1 arguments, got 3
>>> D =dict(((1,2),(3,4),(5,6)))
>>> D
{1: 2, 3: 4, 5: 6}

(2) Vous pouvez également spécifier des paramètres de mots-clés

>>> D=dict(vimiix = &#39;VIMIIX&#39;)
>>> D
{&#39;vimiix&#39;: &#39;VIMIIX&#39;}

Vous ne pouvez pas ajouter de guillemets simples au 'vimiix' minuscule ici, sinon une erreur sera signalée !

(3) la méthode intégrée de dict .fromkeys a deux paramètres

>>> D = dict.fromkeys((1,&#39;vimiix&#39;),(&#39;common&#39;,&#39;value&#39;))
>>> D
{1: (&#39;common&#39;, &#39;value&#39;), &#39;vimiix&#39;: (&#39;common&#39;, &#39;value&#39;)}
>>>

Dans le processus de production réel, elle est créée à l'aide de la génération de dictionnaire et est générée sur la base des données existantes Les données correspondantes sont n'a de sens que s'il existe des données.

Châtaigne générative du dictionnaire :

>>> L1 = [1,2,3]
>>> L2 = [&#39;a&#39;,&#39;v&#39;,&#39;vimiix&#39;]
>>> D={a:b for a in L1 for b in L2}
>>> D
{1: &#39;vimiix&#39;, 2: &#39;vimiix&#39;, 3: &#39;vimiix&#39;}

Ceci n'est qu'une châtaigne générative, mais ce n'est pas une réponse idéale. Nous devons apprendre à générer des paires clé-valeur un à un.

Méthode de dictionnaire intégrée :

get()  :

Obtenir la valeur correspondant à la clé. Si elle n'est pas trouvée, elle. renvoie Aucun. S'il est trouvé, il renvoie la valeur correspondante

pop(key) :

Affiche la valeur correspondant à la clé, par défaut la dernière

popitem() :

Renvoie et supprime aléatoirement une paire de clés et de valeurs dans le dictionnaire (élément). Pourquoi est-il supprimé de manière aléatoire ? Étant donné que les dictionnaires ne sont pas ordonnés, il n’y a pas de « dernier élément » ou autre ordre. Si vous rencontrez un travail qui nécessite de supprimer des éléments un par un pendant le travail, il est très efficace d'utiliser la méthode popitem().

update() :

Mettre à jour ou ajouter une paire clé-valeur (le cas échéant, la modifier ou l'encourager)

>>> D.update({&#39;newitem&#39;:&#39;update&#39;})
>>> D
{&#39;newitem&#39;: &#39;update&#39;, 1: &#39;vimiix&#39;, 2: &#39;vimiix&#39;, 3: &#39;vimiix&#39;}

Résumé

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn