Maison  >  Article  >  développement back-end  >  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

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
Tomorinoriginal
2018-08-14 11:21:208267parcourir

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"

Élément vide créé

tup1 = ()

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

tup1 = (50,)

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

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’

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!

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