Modifications de l'ordre dans les conversions d'ensembles
Lors de la conversion d'une liste en un ensemble en Python, l'ordre des éléments semble être modifié. Cela peut être déroutant, car les listes conservent l’ordre de leurs éléments, tandis que les ensembles sont des structures de données non ordonnées. La raison de cet écart réside dans la nature fondamentale des ensembles.
Les ensembles sont conçus pour effectuer des tests d'appartenance efficaces et ne conservent pas l'ordre d'insertion des éléments. En effet, les ensembles sont représentés en interne sous forme de tables de hachage, où les éléments sont stockés de manière brouillée pour une recherche plus rapide.
Comment conserver la commande
Si vous avez besoin de la préservation d'ordre dans vos collectes de données, il existe plusieurs alternatives à l'utilisation d'ensembles :
B = set([6, 20, 1]) result = [x for x in A if x not in B]
import collections A = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210]) B = collections.OrderedDict.fromkeys([6, 20, 1]) result = collections.OrderedDict.fromkeys(x for x in A if x not in B)
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!