La seule différence entre les ensembles et les listes dans Python le fait que vous pouvez utiliser les fonctions d'union, d'intersection, de différence et de différence symétrique pour comparer deux ensembles? Pourquoi ces fonctions ne peuvent-elles pas simplement être appliquées à Dans quelles situations les ensembles sont-ils plus utiles que les listes?
Il y a une énorme différence.
__contains__
(Opérateur in
) beaucoup plus efficace pour les ensembles que pour les listes.set(([1],[2]))
vous obtiendrez un TypeError
.Dans les applications pratiques, les listes sont très agréables à trier et à commander, tandis que les ensembles sont agréables à utiliser lorsque vous ne voulez pas de doublons et que vous ne vous souciez pas de l'ordre.
Notez également que si vous ne vous souciez pas de la commande, etc., vous pouvez utiliser
new_set = myset.intersection(mylist)
pour obtenir l'intersection entre un set
et un list
.
sets
- Collections non ordonnées d'éléments uniques
lists
- collections d'éléments ordonnées
sets
vous permet d'effectuer des opérations telles que intersection
, union
, difference
et symmetric difference
, c'est-à-dire les opérations de la théorie des ensembles mathématiques. Les ensembles ne permettent pas l'indexation et sont implémentés sur les tables de hachage.
lists
sont vraiment des tableaux de longueur variable, pas des listes liées de style LISP. Dans les listes, les éléments sont accessibles par des indices.
Définir
Un ensemble est une collection qui n'est pas ordonnée et non indexée et qui n'autorise pas les doublons. En Python, les ensembles sont écrits avec des accolades.
# example set
newset = {"one", "two", "three"}
Liste
Une liste est une collection qui est commandée et modifiable. Dans Python les listes sont écrites entre crochets.
# example list
newlist =["one", "two", "three"]
Quelques autres différences sont:
hash function
pour trouver un élément alors que list est un tableau. Ainsi, trouver un élément dans Set
est plus rapide que dans list
.L'ensemble représente une collection d'éléments distincts. En python, les ensembles sont principalement utilisés pour deux raisons (Livre: Data Science from Scratch, Joel Gruce):
Pour un fonctionnement plus rapide: in est une opération très rapide sur les postes. Si nous avons une grande collection d'éléments et si nous souhaitons effectuer un test d'appartenance, dans ce cas, il convient d'utiliser set au lieu d'une liste.
Pour rechercher un élément distinct dans une collection. Les programmeurs utilisent des ensembles beaucoup moins fréquemment que les dict et les listes.