Las listas son como las arrays, declaradas en otros idiomas. Las listas no necesitan ser siempre homogéneas, lo que las convierte en una herramienta muy poderosa en Python. Una sola lista puede contener tipos de datos como enteros, strings y objetos. Las listas son mutables y, por lo tanto, pueden modificarse incluso después de su creación.
Ejemplo:
Python3
# Python program to demonstrate # Lists # Creating a List with # the use of multiple values List = ["Geeks", "For", "Geeks"] print("List containing multiple values: ") print(List[0]) print(List[2]) # Creating a Multi-Dimensional List # (By Nesting a list inside a List) List = [['Geeks', 'For'] , ['Geeks']] print("\nMulti-Dimensional List: ") print(List)
Producción:
List containing multiple values: Geeks Geeks Multi-Dimensional List: [['Geeks', 'For'], ['Geeks']]
El diccionario en Python, por otro lado, es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa, que a diferencia de otros tipos de datos que contienen solo un valor único como elemento, el diccionario contiene un par clave: valor. El valor-clave se proporciona en el diccionario para hacerlo más optimizado. Cada par clave-valor en un Diccionario está separado por dos puntos:, mientras que cada clave está separada por una ‘coma’.
Ejemplo:
Python3
# Python program to demonstrate # dictionary # Creating a Dictionary # with Integer Keys Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'} print("Dictionary with the use of Integer Keys: ") print(Dict) # Creating a Dictionary # with Mixed keys Dict = {'Name': 'Geeks', 1: [1, 2, 3, 4]} print("\nDictionary with the use of Mixed Keys: ") print(Dict)
Producción:
Dictionary with the use of Integer Keys: {1: 'Geeks', 2: 'For', 3: 'Geeks'} Dictionary with the use of Mixed Keys: {1: [1, 2, 3, 4], 'Name': 'Geeks'}
Diferencia entre lista y diccionario:
Lista | Diccionario |
---|---|
List es una colección de pares de valores de índice como el de array en C++. | El diccionario es una estructura hash de pares de clave y valor . |
La lista se crea colocando elementos en [ ] separados por comas “, “ | El diccionario se crea colocando elementos en { } como «clave»: «valor», cada par de valores clave está separado por comas «, « |
Los índices de lista son números enteros a partir de 0. | Las claves del diccionario pueden ser de cualquier tipo de dato. |
Se accede a los elementos a través de índices. | Se accede a los elementos a través de valores-clave. |
Se mantiene el orden de los elementos introducidos. | No hay garantía de mantener el orden. |
Compensación espacio-tiempo
Es más eficiente usar un diccionario para la búsqueda de elementos porque lleva menos tiempo recorrer el diccionario que una lista.
Por ejemplo, consideremos un conjunto de datos con 5000000 elementos en un modelo de aprendizaje automático que se basa en la velocidad de recuperación de datos. Para implementar esto tenemos que elegir sabiamente entre dos estructuras de datos, es decir, lista y diccionario. Se prefiere el diccionario debido al menor tiempo y espacio de almacenamiento, ya que los diccionarios se implementan en forma de tablas hash de python3.6, por lo que nunca es un problema de compensación de espacio-tiempo en los diccionarios.
Ejemplo 1:
Python3
# Program to demonstrate # space-time trade-off between # dictionary and list # To calculate the time # difference import time # Creating a dictionary d ={'john':1, 'alex':2} x = time.time() # Accessing elements print("Accessing dictionary elements:") for key in d: print(d[key], end=" ") y = time.time() print("\nTime taken by dictionary:", y-x) # Creating a List c =[1, 2] x = time.time() print("\nAccessing List elements:") for i in c: print(i, end=" ") y = time.time() print("\nTime taken by dictionary:", y-x)
Producción:
Accessing dictionary elements: 1 2 Time taken by dictionary: 1.0013580322265625e-05 Accessing List elements: 1 2 Time taken by dictionary: 3.5762786865234375e-06
Ejemplo 2:
Python3
# Program to fetch particular # elements of structure import time # Creating dictionary and list dict_name ={"bob":12, "john":11} list_name =[2, 3, 4, 5, 1] # Time taken by dictionary x = time.time() L = dict_name["bob"] y = time.time() print("Time taken by dictionary:", y-x) # Time taken by list x = time.time() L = list_name[2] y = time.time() print("\nTime taken by list:", y-x)
Producción:
Time taken by dictionary: 9.5367431640625e-07 Time taken by list: 4.76837158203125e-07
Nota: Tomó más tiempo obtener un solo elemento en una lista que un diccionario porque el diccionario usa una tabla hash para implementar el arreglo.
Publicación traducida automáticamente
Artículo escrito por vinaychopra92vc y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA