¿La única diferencia entre conjuntos y listas en Python es el hecho de que puede usar las funciones de unión, intersección, diferencia y diferencia simétrica para comparar dos conjuntos? ¿Por qué no pueden estas funciones simplemente aplicarse a las listas? ¿En qué situaciones los conjuntos son más útiles que las listas?¿Cuál es la diferencia entre conjuntos y listas en Python?
Respuesta
Hay una gran diferencia.
- conjuntos no pueden contener duplicados
- Los conjuntos son desordenada
- el fin de encontrar un elemento en un conjunto, se utiliza una búsqueda de hash (que es la razón por conjuntos no tienen orden). Esto hace que
__contains__
(operadorin
) sea mucho más eficiente para conjuntos que listas. - Los conjuntos solo pueden contener elementos con capacidad de manipulación (consulte el n. ° 3). Si tratas:
set(([1],[2]))
obtendrás unTypeError
.
En las aplicaciones prácticas, las listas son muy agradables para ordenar y ordenar, mientras que los conjuntos son agradables de usar cuando no quiere duplicados y no le importa el orden.
También tenga en cuenta que si no se preocupan por orden, etc., puede utilizar
new_set = myset.intersection(mylist)
para obtener la intersección entre un set
y una list
.
sets
- colecciones no ordenadas de elementos únicos
lists
- ordenó colecciones de elementos
sets
le permite hacer operaciones como intersection
, union
, difference
y symmetric difference
, operaciones es decir de la teoría de conjuntos de matemáticas. Conjuntos no permite la indexación y se implementan en tablas hash.
lists
son realmente matrices de longitud variable, no listas vinculadas al estilo Lisp. En las listas, se accede a los elementos por índices.
Algunos más diferencias son:
- lista puede ser 2-D, mientras que un conjunto no puede.
- Como la lista que se ordena (es decir, el número de serie) es comparativamente lenta en la ejecución, mientras que los conjuntos son rápidos.
- La lista en python es como Array of java o c.
- La impresión de un conjunto casi siempre proporciona una secuencia de salida diferente.
un conjunto puede tener tantas dimensiones como desee, siempre que use 'frozenset' – Copperfield
El conjunto representa una colección de elementos distintos. En Python, los conjuntos se utilizan principalmente por dos razones: (Libro Ciencia de datos desde cero, Joel Gruce):
Para un funcionamiento más rápido: en es una operación muy rápida en conjuntos.Si tenemos una gran colección de elementos y si deseamos realizar una prueba de membresía, en ese caso es apropiado usar un conjunto en lugar de una lista.
Para encontrar elementos distintos en una colección. Los programadores usan conjuntos con mucha menos frecuencia que los dicts y las listas.
Python SET:
Set es una colección desordenada de artículos únicos. Set está definido por valores separados por comas dentro de llaves {}. Los artículos en un conjunto no están ordenados.
El conjunto es una colección desordenada, la indexación no tiene ningún significado. Por lo tanto, el operador de división [] no funciona.
>>> a = {1,2,2,3,3,3}
>>> a
set([1, 2, 3])
>>> a[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing
lista de Python:
lista es una secuencia ordenada de elementos. Es uno de los tipos de datos más utilizados en Python y es muy flexible. Todos los elementos en una lista no necesitan ser del mismo tipo.
Declarar una lista es bastante directo. Los elementos separados por comas se incluyen entre corchetes [].
>>> a = [1, 2.2, 'python']
Podemos utilizar el operador de división [] para extraer un elemento o una gama de elementos de una lista. El índice comienza la forma 0 en Python.
Las listas son mutables, es decir, se puede modificar el valor de los elementos de una lista.
- 1. ¿Cuál es la diferencia entre listas y tuplas en Python?
- 2. ¿Cuál es la diferencia entre las listas entre corchetes y paréntesis en Python?
- 3. ¿Cuál es la diferencia entre plus y append en python para la manipulación de listas?
- 4. ¿Cuál es la diferencia entre python activo y python?
- 5. ¿Cuál es la diferencia entre list y list [:] en python?
- 6. ¿Cuál es la diferencia entre {} y [] en python?
- 7. En Python, ¿cuál es la diferencia entre pasar y devolver
- 8. En Python, ¿cuál es la diferencia entre ".append()" y "+ = []"?
- 9. Python Conjuntos vs Listas
- 10. ¿Cuál es la diferencia entre dict() y {}?
- 11. Twisted (Python): ¿cuál es la diferencia entre cooperate y coiterate?
- 12. ¿Cuál es la diferencia entre pytz y python-dateutil?
- 13. Python: ¿Cuál es la diferencia entre __builtin__ y __builtins__?
- 14. ¿Cuál es la diferencia entre django classonlymethod y python classmethod?
- 15. ¿Cuál es la diferencia entre + = y = +?
- 16. ¿cuál es la diferencia entre:.! y: r !?
- 17. ¿Cuál es la diferencia entre ".equals" y "=="?
- 18. Cuál es la diferencia entre $ y jQuery
- 19. Cuál es la diferencia entre = y: =
- 20. Cuál es la diferencia entre $ (...) y `...`
- 21. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 22. ¿Cuál es la diferencia entre {0} y ""?
- 23. ¿Cuál es la diferencia entre .ToString (+) y ""
- 24. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 25. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 26. ¿Cuál es la diferencia entre " " y ""?
- 27. ¿Cuál es la diferencia entre '() y (lista) en Clojure?
- 28. Cuál es la diferencia entre los conjuntos de caracteres y la codificación de caracteres
- 29. La concatenación de dos listas - diferencia entre '+ =' y extender()
- 30. ¿Cuál es la diferencia entre ImmutableList de Google y Collections.unmodifiableList()?
Conjuntos, por definición, no incluyen valores duplicados; Supongo que Python, al igual que otros idiomas, permitirá entradas duplicadas en una lista. –
Esto se presenta bastante bien en la documentación. [Sets] (http://docs.python.org/tutorial/datastructures.html#sets) y [Lists] (http://docs.python.org/tutorial/datastructures.html#more-on-lists) –