Maison > développement back-end > Tutoriel Python > Explication détaillée des structures de données intégrées de Python

Explication détaillée des structures de données intégrées de Python

不言
Libérer: 2018-04-27 15:36:53
original
2140 Les gens l'ont consulté

Cet article vous donne un résumé des 5 structures de données intégrées et des exemples d'opérations en Python. Il est très détaillé. Les amis qui en ont besoin peuvent s'y référer.

1. Liste

Une liste est une structure de données dans laquelle une série d'éléments peut être stockée. Les éléments de la liste doivent être séparés par des virgules et tous les éléments doivent être placés entre crochets pour indiquer qu'il s'agit d'une liste. L'exemple suivant est utilisé pour montrer quelques opérations de base de la liste :

# 定义一个 list 对象 class_list:
class_list = ['Michael', 'Bob', 'Tracy']
# 获得一个 class_list 的长度
print 'class have', len(class_list), 'students'
# 访问class_list中的对象
print 'The 3rd student in class is', class_list[2]
# 往 class_list 中插入对象
class_list.append('Paul')
# 从 class_list 中删除一个项目
del class_list[0]
# 对 class_list 进行排序
class_list.sort()
# 遍历整个class_list中的项目
print 'These students are :',
for student in class_list:
  print student,
Copier après la connexion

Le résultat de sortie est :

la classe a 3 élèves
Le 3ème élève de la classe est Tracy
Ces étudiants sont : Bob Paul Tracy

Quelques points à noter à propos du code ci-dessus sont :

Vous pouvez ajouter n'importe quel type d'objet à class_list, c'est-à-dire qu'une liste n'est pas obligatoire Les éléments dans sont du même type. Vous pouvez même insérer une liste dans class_list.
La fonction de tri fonctionne sur elle-même plutôt que de renvoyer une copie, ce qui est différent du type chaîne car les chaînes ne peuvent pas être modifiées.
Le paramètre de mot-clé de fin de la fonction d'impression est utilisé pour spécifier la sortie une fois la saisie terminée. La valeur par défaut est un caractère de nouvelle ligne. Le code ci-dessus utilise un caractère d'espace pour remplacer le caractère de nouvelle ligne.

2. Tuple

Tuple n'est pas très différent de la liste en termes d'utilisation et de concept. la liste. Cela signifie qu'une fois qu'un tuple est défini, il ne peut pas être modifié : les objets ne peuvent pas être ajoutés ou supprimés, et les objets du tuple ne peuvent pas non plus être modifiés. Les éléments d'un

tuple doivent également être séparés par des virgules et les éléments doivent être mis entre parenthèses pour indiquer qu'il s'agit d'un tuple. Ces parenthèses sont facultatives, ce qui signifie qu'un tuple peut être défini des deux manières suivantes :

t = 'Adam', 'Lisa', 'Bart'
t = ('Adam', 'Lisa ', 'Bart')
Mais omettre la paire de parenthèses n'est pas forcément une bonne habitude. De plus, lorsque le tuple n'a qu'un seul élément, il doit y avoir une virgule après le premier élément. Dans ce cas, t = ('Adam',) doit être défini comme ceci. Cela peut sembler une contrainte étrange, mais sans la virgule, le tuple défini sans parenthèses devient t = 'Adam', ce qui est évidemment ambigu.

3. Dictionnaire

Un dictionnaire peut être considéré comme un ensemble de paires clé-valeur. Les clés doivent être uniques et chaque clé est associée à une valeur. La clé doit être un objet immuable (tel qu'un tuple, un type numérique, une chaîne). Notez également que les paires clé-valeur dans le dictionnaire ne sont en aucun cas ordonnées.

La définition d'un dictionnaire doit être au format d={key1 : value1, key2 : value2, key3 : value3}. Les clés et les valeurs sont séparées par des deux-points, les paires clé-valeur sont séparées par des virgules et toutes les paires clé-valeur sont placées entre accolades. Certaines opérations de base sont les suivantes :

# 字典的定义
d = {
  'Adam': 95,
  'Lisa': 85,
  'Bart': 59
}
# 通过键来获取值
print "Adam's score is", d['Adam']
# 删除一个键值对
del d['Bart']
# 遍历字典
for name, score in d.items():
  print '{0} is {1}'.format(name, score)
# 往字典中增加一个键值对
d['Paul'] = 72
# 判断字典中是否存在某键,也可以用 if ab.has_key('Lisa')
if 'Lisa' in d:
  print "Lisa's address is", d['Lisa']
Copier après la connexion

Le résultat de sortie est :

Adam's score is 95
Lisa is 85
Adam is 95
Lisa's address is 85
Copier après la connexion

4. Séquences

Au-dessus du les trois structures de données intégrées introduites sont toutes des séquences, et l'opération d'indexation est une opération de base de la séquence. Les objets de la séquence sont accessibles directement via l'opération d'indice. Bien que l'opération d'indice ait été démontrée ci-dessus, les files d'attente et les tuples sont indicés avec des nombres, et les dictionnaires sont indicés avec des mots-clés. Les indices de la séquence

commencent à 0. Dans l'exemple ci-dessus, seuls les indices positifs sont utilisés. En fait, les indices peuvent également être des nombres négatifs, tels que -1,-2,-3... Les indices négatifs représentent les positions dans la direction opposée. Par exemple, class_list[-1] renvoie le dernier élément de class_list.

La séquence prend en charge non seulement les indices négatifs mais également les indices doubles. Cette paire d'indices doubles représente un intervalle. Par exemple, class_list[0:3] renvoie une copie de la sous-séquence de l'indice 1 à l'indice 3 dans class_list. Notez que cet intervalle est une paire d’intervalles semi-fermés et semi-ouverts. Cette opération est appelée opération de découpage. Si le deuxième index de l’opération de découpage dépasse la plage de la séquence, l’opération de découpage se terminera à la fin de la séquence. Les deux indices de l'opération de découpage ont des valeurs par défaut. La valeur par défaut du premier est 0 et la taille du second correspond à la longueur de la séquence.

Vous pouvez également fournir un troisième paramètre pour l'opération de découpage. Le troisième paramètre représente la taille du pas de l'opération de découpage. Sa valeur par défaut est 1. La taille du pas représente la distance entre les éléments, tels que nom[0:10:3]. Ce qui est renvoyé est la sous-séquence composée des indices 0, 3, 6 et 9 dans nom.

5. Ensemble (Set)

Un ensemble est une collection d'objets simples non ordonnés. Les ensembles conviennent lorsque vous vous souciez uniquement de savoir si un objet existe dans la collection, quel que soit l'ordre dans lequel il existe ou le nombre de fois qu'il apparaît. Fonctions de base : déterminer s'il est membre d'un ensemble, si un ensemble est un sous-ensemble d'un autre ensemble, obtenir l'intersection de deux ensembles, etc. Exemple :

s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
# 判断对象是否在集合中
if 'Bart' in s:
  print "Bart is in ?", 'Bart' in s
# 使用copy函数来拷贝一个set
sc = s.copy()
# 往集合中添加对象
sc.add('Bill')
# 从集合中删除对象
sc.remove('Adam')
# 求两个集合的交集,也可以使用 s.intersection(sc)
print s & sc
Copier après la connexion

Résultat de sortie :

Bart is in ? True
set(['Lisa', 'Paul', 'Bart'])
Copier après la connexion

Recommandations associées :

Analyse complète de Python à partir de variables locales et de variables globales Portée de variable

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal