es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La forma más eficiente de calcular las diferencias y la intersección de dos conjuntos en Python.

Digamos que tenemos dos conjuntos s1 y s2.

Necesito tres conjuntos diferentes basados en estos dos conjuntos:

  1. Conjunto de elementos que existen en s1 pero no en s2.
  2. Conjunto de elementos que existen en s2 pero no en s1.
  3. Conjunto de elementos que existen tanto en s1 como en s2.

Estos se pueden calcular fácilmente de la siguiente manera:

s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}

o1 = s1 - s2
o2 = s2 - s1
o3 = s1 & s2

¿Existe una forma de calcular estos conjuntos de manera más eficiente? Imagino que las diferentes operaciones de conjunto tienen múltiples pasos de procesamiento internos en común, por lo que puede haber redundancia.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El enfoque actual ya es eficiente ya que utiliza las operaciones de conjunto “-” y “&”, que aprovechan la propiedad de tabla hash incorporada de los conjuntos para realizar las operaciones en una complejidad de tiempo O(1). Los pasos comunes de procesamiento interno en las operaciones de conjunto ya están optimizados para la eficiencia. Por lo tanto, no es necesario optimizar aún más.

Comments are closed.