Primero, creo pertinente aclarar conceptos. Sería bueno que nos dijeras en que otros lenguajes te manejas o tienes experiencia para hacer un símil.
Python tiene 4 tipos de estructuras de datos. Listas, conjuntos (sets), tuplas y diccionarios. Las listas son, como dice su nombre, un listado de objetos (que pueden ser enteros, strings, otras listas, etc) y que permiten operaciones entre si. Los conjuntos son similar con la diferencia que el conjunto no acepta elementos repetidos, y de que aceptan operaciones típicas de conjuntos como unión, intercepción o diferencia. Las tuplas son similares a las listas, con la diferencia de que son *inmutables* (o sea, no puedes cambiarlas una vez creadas). Y, finalmente, tenemos los diccionarios, que son una estructura que guarda pares de clave-valor, y que también pueden almacenar como valor cualquier tipo de dato (otros diccionarios, listas, etc). Hice la salvedad de diferenciar las estructuras de dato, porque, como siempre, esto incide en la decisión de qué usar, y eso simplemente lo ves dependiendo de lo que necesites. Para algunos casos conviene listados, para otros conjuntos, para otros tuplas y para otros diccionarios. Es cierto que tal vez un cierto problema lo puedes enfocar de varias formas pero ahí el rendimiento entra en juego. No es lo mismo procesar unos cientos datos que millones de datos... y un desarrollo bien optimizado en Python hace muchísimo la diferencia en rendimiento. Esto se nota sobre todo si después despliegas tus desarrollos (ya sea en la nube, en un servidor, etc). Ahora, ¿por qué los diccionarios son muy buenos? Pues porque es una estructura de dato muy versátil, te permite buscar por keys, anidar objetos, filtrar, etc. Además es muy similar a operar un JSON (sin serlo), entonces es mucho más natural a la hora de trabajar datos versus una lista/tupla. Esto es muy útil si trabajas haciendo microservicios en Python por ejemplo, ya que te hace sencillísimo mapear inputs/outputs y trabajarlos. Es importante si la aclaración de que *no es lo mismo que JSON*, hay muchas personas que he conocido que piensan erróneamente esto último cuando recién se están introduciendo en Python y después se frustran cuando notan que sus desarrollos no devuelven respuestas esperadas (o en el formato esperado). Ahora, si quieres ver rendimiento o complejidad algorítmica, este link ( https://www.pythonlikeyoumeanit.com/Module2_EssentialsOfPython/DataStructures.html) puede darte más luces. Ojo, repito que no es que una estructura de datos sea mejor que otra, depende mucho de la necesidad, caso de uso o requerimiento en específico. Saludos. On Fri, Jul 24, 2020 at 2:46 PM Lemarchand Barker <lemarchand8...@gmail.com> wrote: > Hola, esta vez les pregunto como bien me habían comentado antes, a la > hora de trabajar con un archivo csv que use diccionario. Pero hay > algún motivo en particular o en especial por el cuál se hace esto? Es > por cuestión de rendimiento a nivel sistema o porque ofrece una forma > más fácil de trabajar y manipular la información? > Por lo que leí es mejor usar el diccionario en vez de manejar la una > lista individual de cadenas. Lo entiendo pero hay algún plus o algo > que favorezca el uso del diccionario? > Gracias, saludos > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es