Quelle est la différence entre les listes et les tuples en Python ? Comprendre les similitudes et les différences entre les tuples et les listes dans un seul article

Tomorin
Libérer: 2018-08-14 11:21:20
original
8354 Les gens l'ont consulté

En parlant de comment distinguer entre une Liste et un Tuple Python, présentons d'abord ce qu'est un Tuple Python :


Cela dit, qu'est-ce qu'un Tuple Python ?

Les tuples de Python sont similaires aux listes. La différence est que les éléments des tuples ne peuvent pas être modifiés. Les tuples utilisent des parenthèses et les listes utilisent des crochets. La création de tuples est simple, il suffit d'ajouter des éléments entre parenthèses et de les séparer par des virgules.

L'exemple suivant :

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
Copier après la connexion

Élément vide créé

tup1 = ()
Copier après la connexion

Lorsque le tuple ne contient qu'un seul élément, vous devez ajouter une virgule après le element

tup1 = (50,)
Copier après la connexion

Qu'est-ce qu'une liste Python, veuillez consulter :

La connaissance des listes Python qui a été populaire ces dernières années et des exemples détaillés de suppression et d'ajout d'éléments de liste

Ensuite, comparons les similitudes entre la list et le tuple python

liste et tuples en Python Similitudes :

sont tous des types de séquences
Avant de répondre à leurs différences, parlons d'abord des similitudes entre les deux. à. La liste et le tuple sont tous deux des objets conteneurs de type séquence, qui peuvent stocker tout type de données et prendre en charge des opérations telles que le découpage et l'itération

foos = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
foos[0:10:2] 
[0, 2, 4, 6, 8]
Copier après la connexion
bars = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 
bars[1:10:2] (1, 3, 5, 7, 9) 
两者的操作如此相似,Python 为什么还要设计一种叫 tuple 的类型出来呢?这就要从它们的不同之处来寻找答案。
Copier après la connexion

Liste et tuple dans les différences Python :

En plus de la différence littérale entre les deux types (crochets et crochets), le point le plus important est que tuple est un type immuable avec une taille fixe, tandis que list est un type variable. peut changer de manière dynamique, et cette différence rend les méthodes, les scénarios d'application et les performances fournis par les deux très différents.

Méthodes spécifiques à la liste :

foo = [2,3,1,9,4] 
foo.sort() # 排序 
foo.insert(5,10) # 插入 
foo.reverse() # 反转 
foo.extend([-1, -2]) # 扩展 
foo.remove(10) # 移除 
foo.pop() # 弹出最后一个元素 
foo.append(5) # 追加 所有的操作都基于原来列表进行更新,而 tuple 作为一种不可变的数据类型,同样大小的数据,初始化和迭代
tuple 都要快于 list
python -m timeit “[1,2,3,4,5]” 
10000000 loops, best of 3: 0.123 usec per loop
python -m timeit “(1,2,3,4,5)” 
100000000 loops, best of 3: 0.0166 usec per loop 
同样大小的数据,tuple 占用的内存空间更少
foo = tuple(range(1000)) 
bar = list(range(1000)) 
foo.sizeof() 8024 
bar.sizeof() 9088 原子性的 tuple 对象还可作为字典的键
foo = (1,(2,3)) 
d = {foo: 1}
bar = (1, [2,3]) # 非原子性tuple,因为元组中包含有不可哈希的list 
d = {bar: 1} 
Traceback (most recent call last): 
File “”, line 1, in 
TypeError: unhashable type: ‘list’
Copier après la connexion

Pour plus de points de connaissances connexes, cliquez pour visiter le Tutoriel Python du site Web PHP chinois

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