que estoy haciendo una operación de conjunto diferencia en Python:orden de retención durante el uso de diferencia de conjuntos de Python
from sets import Set
from mongokit import ObjectId
x = [ObjectId("4f7aba8a43f1e51544000006"), ObjectId("4f7abaa043f1e51544000007"), ObjectId("4f7ac02543f1e51a44000001")]
y = [ObjectId("4f7acde943f1e51fb6000003")]
print list(Set(x).difference(Set(y)))
que estoy recibiendo:
[ObjectId('4f7abaa043f1e51544000007'), ObjectId('4f7ac02543f1e51a44000001'), ObjectId('4f7aba8a43f1e51544000006')]
que necesito para obtener el primer elemento para la próxima operación lo cual es importante. ¿Cómo puedo conservar la lista x
en el formato original?
Los conjuntos son, por definición, no ordenada. – icktoofay
Y nunca deberías estar usando el módulo 'sets'. Use el tipo de 'conjunto' incorporado. –
El tipo * sets.Set * es una elección razonable para alguien que necesita compatibilidad con versiones anteriores de Python. El tipo * set * incorporado se modeló después de * sets.Set *: ambos funcionan bien para la mayoría de las aplicaciones (aunque la versión incorporada es más rápida). –