¿Cuál es la diferencia entre listas y conjuntos en Python?


Mejor respuesta

Hay algunas diferencias significativas:

  • Indexación – una lista se puede indexar por entero (comenzando desde 0); un conjunto no se puede indexar (no existe el concepto del primer elemento de un conjunto excepto cuando se itera).
  • Rebanar: una lista se puede dividir (usando la notación [a: b]); un conjunto de Python no se puede dividir.
  • Contenido: una lista puede contener cualquier combinación de elementos de datos; un conjunto solo puede contener aquellos elementos de datos que son hash (es decir, la función hash () devuelve un valor).
  • Duplicados: una lista puede contener elementos de datos duplicados; no hay límite en la cantidad de veces que los elementos de el mismo valor aparece en la lista; un conjunto no puede contener duplicados.
  • Ordenar: las listas están ordenadas, lo que significa que conservan el orden según lo determine el programa que utiliza la lista; los conjuntos no están ordenados (no existe el concepto de primero, segundo, etc.) y no hay forma de que un programador pueda controlar el orden en el que se itera, muestra o presenta un conjunto. (El orden de las notas no es lo mismo que estar ordenado, pero los conjuntos tampoco se pueden ordenar).
  • Membresía: una prueba de membresía (el operador in) en una lista es una búsqueda lineal de primero a último ; una prueba de pertenencia a un conjunto se basa primero en el hash () del valor que se busca. La búsqueda de un conjunto es considerablemente más eficiente en comparación con una lista de tamaño similar.
  • Otras capacidades: las listas no tienen comportamientos para crear nuevas listas basadas en superposiciones o diferencias entre listas; los conjuntos, por otro lado, tienen una miríada de operaciones (y métodos) para identificar las diferencias y los resultados generales entre conjuntos.

Respuesta

Conjuntos son estructuras de datos, similares a listas o diccionarios. Se crean utilizando llaves o la función set . Comparten algunas funciones con las listas, como el uso de en para comprobar si contienen un elemento en particular.

num\_set = {1, 2,3,4,5}

word\_set = set ([«spam», «huevos», «salchicha»])

print (3 en num\_set)

print («spam» no en word\_set)

>> Verdadero

>>> Falso

Nota: Para crear un conjunto vacío, debe usar set (), ya que {} crea un diccionario vacío.

Los conjuntos se diferencian de las listas de varias formas, pero comparten varias operaciones de lista, como len . Están desordenados, lo que significa que no se pueden indexar. no pueden contener elementos duplicados. Debido a la forma en que «se almacenan, es» más rápido para verificar si un elemento es parte de un conjunto, en lugar de parte de una lista. En lugar de usar append para agregar a un conjunto, use add . El método remove elimina un elemento de un conjunto; pop elimina un elemento arbitrario.

Los conjuntos se pueden combinar mediante operaciones matemáticas. El union operator | combina dos conjuntos para formar uno nuevo que contiene elementos en cualquiera de ellos. El intersection operator & obtiene elementos solo en ambos. La diferencia operador obtiene elementos en el primer set pero no en el segundo. El diferencia simétrica operador ^ obtiene elementos en cualquiera de los conjuntos, pero no en ambos.

Cuándo usar un diccionario: – Cuando necesita una asociación lógica entre una clave: valor par. – Cuando necesite una búsqueda rápida de sus datos, basada en una clave personalizada. – Cuando sus datos se modifican constantemente. Recuerde, los diccionarios son mutables. Cuándo usar los otros tipos: – Use listas si tiene una colección de datos que no necesita acceso aleatorio. Intente elegir listas cuando necesite una colección simple e iterable que se modifique con frecuencia. – Utilice un conjunto si necesita unicidad para los elementos. – Use tuplas cuando sus datos no puedan cambiar.

Espero que esto le ayude.

Happy Coding.

Una última cosa, si te gusta esto, entonces me motivará.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *