Data Science para marketing

Creado por Nicolás Labbé

Introducción a Python y Fundamentos Básicos

Estructuras de datos

Almacenan múltiples elementos en una sola variable.

  • Listas
  • Tuplas
  • Diccionarios
  • Set

Listas

Las listas se utilizan para almacenar varios elementos en una sola variable.

Las listas se crean utilizando corchetes:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> print(thislist)
							['apple', 'banana', 'cherry']
						
					
  • Los elementos de la lista están ordenados, se pueden modificar y permiten valores duplicados.
  • Los elementos de la lista están indexados, el primer elemento tiene índice [0], el segundo elemento tiene índice [1], etc.
  • La lista es modificable, lo que significa que podemos cambiar, agregar y eliminar elementos en una lista después de haberla creado.
Acceder a elementos

Los elementos de la lista están indexados y puedes acceder a ellos consultando el número de índice:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> print(thislist[1])
							banana
						
					
Indexación negativa

La indexación negativa significa empezar desde el final.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> print(thislist[-1])
							cherry
						
					
Rango de índices

Puede especificar un rango de índices especificando dónde comenzar y dónde finalizar el rango.

						
							>>> thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
							>>> print(thislist[2:5])
							['cherry', 'orange', 'kiwi']
						
					

Este ejemplo devuelve los elementos desde el principio hasta "kiwi", pero SIN incluirlo:

						
							>>> thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
							>>> print(thislist[:4])
							['apple', 'banana', 'cherry', 'orange']
						
					

Al omitir el valor final, el rango continuará hasta el final de la lista:

						
							>>> thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
							>>> print(thislist[2:])
							['cherry', 'orange', 'kiwi', 'melon', 'mango']
						
					
Cambiar elementos de la lista

Para cambiar el valor de un elemento específico, consulte el número de índice:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist[1] = "blackcurrant"
							>>> print(thislist)
							['apple', 'blackcurrant', 'cherry']
						
					
Cambiar un rango de valores de elementos

Para cambiar el valor de los elementos dentro de un rango específico, defina una lista con los nuevos valores y haga referencia al rango de números de índice donde desea insertar los nuevos valores:

						
							>>> thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
							>>> thislist[1:3] = ["blackcurrant", "watermelon"]
							>>> print(thislist)
							['apple', 'blackcurrant', 'watermelon', 'orange', 'kiwi', 'mango']
						
					

Si insertas más elementos de los que reemplaza, los nuevos elementos se insertarán donde especificó y los elementos restantes se moverán en consecuencia:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist[1:2] = ["blackcurrant", "watermelon"]
							>>> print(thislist)
							['apple', 'blackcurrant', 'watermelon', 'cherry']
						
					

Si insertas menos elementos de los que reemplaza, los nuevos elementos se insertarán donde especificó y los elementos restantes se moverán en consecuencia:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist[1:3] = ["watermelon"]
							>>> print(thislist)
							['apple', 'watermelon']
						
					
Añadir elementos

Para agregar un elemento al final de la lista, utilice el método append() :

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.append("orange")
							>>> print(thislist)
							['apple', 'banana', 'cherry', 'orange']
						
					
Insertar elementos

Para insertar un nuevo elemento de la lista, sin reemplazar ninguno de los valores existentes, podemos usar el insert()método.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.insert(2, "watermelon")
							>>> print(thislist)
							['apple', 'banana', 'watermelon', 'cherry']
						
					
Eliminar el elemento especificado

El método remove() elimina el elemento especificado.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.remove("banana")
							>>> print(thislist)
							['apple', 'cherry']
						
					

Si hay más de un elemento con el valor especificado, el remove()método elimina la primera aparición:

						
							>>> thislist = ["apple", "banana", "cherry", "banana", "kiwi"]
							>>> thislist.remove("banana")
							>>> print(thislist)
							['apple', 'cherry', 'banana', 'kiwi']
						
					
Eliminar el índice especificado

El pop()método elimina el índice especificado.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.pop(1)
							'banana'
							>>> print(thislist)
							['apple', 'cherry']
						
					

Si no especifica el índice, el pop()método elimina el último elemento.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.pop()
							'cherry'
							>>> print(thislist)
							['apple', 'banana']
						
					

La palabra clave del también elimina el índice especificado:

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> del thislist[0]
							>>> print(thislist)
							['banana', 'cherry']
						
					

La palabra clave del también puede eliminar la lista por completo.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> del thislist
						
					
Limpiar la lista

El método clear() vacía la lista. La lista aún permanece, pero no tiene contenido.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> thislist.clear()
							>>> print(thislist)
							[]
						
					
Ordenar lista alfanuméricamente

Los objetos de lista tienen un sort() método que ordenará la lista alfanuméricamente, en orden ascendente, de forma predeterminada:

						
							>>> thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
							>>> thislist.sort()
							>>> print(thislist)
							['banana', 'kiwi', 'mango', 'orange', 'pineapple']
						
					
Ordenar descendente

Para ordenar descendentemente, utilice el argumento de palabra clave reverse = True

						
							>>> thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
							>>> thislist.sort()
							>>> print(thislist)
							['banana', 'kiwi', 'mango', 'orange', 'pineapple']
						
					
Copiar una lista

No puedes copiar una lista simplemente escribiendo list2 = list1, porque: list2 solo será una referencia a list1, y los cambios realizados en list1se realizarán automáticamente también en list2.

Puede utilizar el método de lista incorporado copy()para copiar una lista.

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> mylist = thislist.copy()
							>>> print(mylist)
							['apple', 'banana', 'cherry']
						
					

Otra forma de hacer una copia es utilizar el método incorporado list().

						
							>>> thislist = ["apple", "banana", "cherry"]
							>>> mylist = thislist.copy()
							>>> print(mylist)
							['apple', 'banana', 'cherry']
						
					

Hay varias formas de unir o concatenar dos o más listas en Python. Una de las formas más sencillas es utilizando el operador +.

						
							>>> list1 = ["a", "b", "c"]
							>>> list2 = [1, 2, 3]
							>>> 
							>>> list3 = list1 + list2
							>>> print(list3)
							['a', 'b', 'c', 1, 2, 3]
						
					

O puedes utilizar el extend() método, donde el propósito es agregar elementos de una lista a otra lista:

						
							>>> list1 = ["a", "b" , "c"]
							>>> list2 = [1, 2, 3]
							>>> 
							>>> list1.extend(list2)
							>>> print(list1)
							['a', 'b', 'c', 1, 2, 3]
						
					
Métodos de lista
Método Descripción
append()Agrega un elemento al final de la lista.
clear()Elimina todos los elementos de la lista.
copy()Devuelve una copia de la lista.
count()Devuelve el número de elementos con el valor especificado.
extend()Agrega los elementos de una lista (o cualquier iterable) al final de la lista actual.
index()Devuelve el índice del primer elemento con el valor especificado.
insert()Agrega un elemento en la posición especificada.
pop()Elimina el elemento en la posición especificada.
remove()Elimina el elemento con el valor especificado.
reverse()Invierte el orden de la lista.
sort()Ordena la lista

Tuplas

Las tuplas se utilizan para almacenar varios elementos en una sola variable. Una tupla es una colección ordenada e inmutable.

Las tuplas se escriben entre paréntesis.

						
							>>> thistuple = ("apple", "banana", "cherry")
							>>> print(thistuple)
							('apple', 'banana', 'cherry')
						
					
Elementos de tupla
  • Cuando decimos que las tuplas están ordenadas, significa que los elementos tienen un orden definido y ese orden no cambiará.
  • Las tuplas son inmutables, lo que significa que no podemos cambiar, agregar o eliminar elementos una vez creada la tupla.
  • Dado que las tuplas están indexadas, pueden tener elementos con el mismo valor.

Para determinar cuántos elementos tiene una tupla, utilice la función len()

						
							>>> thistuple = ("apple", "banana", "cherry")
							>>> print(len(thistuple))
							3
						
					

Una tupla puede contener diferentes tipos de datos:

						
							>>> tuple1 = ("abc", 34, True, 40, "male")
							>>> print(tuple1)
							('abc', 34, True, 40, 'male')
						
					

¿Cuál es el tipo de datos de una tupla?

						
							>>> mytuple = ("apple", "banana", "cherry")
							>>> print(type(mytuple))
							
						
					

Puede acceder a los elementos de la tupla haciendo referencia al número de índice, dentro de corchetes:

						
							>>> thistuple = ("apple", "banana", "cherry")
							>>> print(thistuple[1])
							banana
							
						
					

La indexación negativa significa empezar desde el final.

						
							>>> thistuple = ("apple", "banana", "cherry")
							>>> print(thistuple[-1])
							cherry
							
						
					

Al especificar un rango, el valor de retorno será una nueva tupla con los elementos especificados.

						
							>>> thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
							>>> print(thistuple[2:5])
							('cherry', 'orange', 'kiwi')
							
						
					

Una vez creada una tupla, no se pueden modificar sus valores. Las tuplas son inmutables.

Pero hay una solución alternativa: puedes convertir la tupla en una lista, modificar la lista y volver a convertirla en una tupla.

						
							x = ("apple", "banana", "cherry")
							y = list(x)
							y[1] = "kiwi"
							x = tuple(y)

							print(x)
						
					

Se pueden agregar tuplas a tuplas, así que si quieres agregar un elemento (o varios), crea una nueva tupla con el/los elemento(s) y añádela a la tupla existente:

						
							>>> thistuple = ("apple", "banana", "cherry")
							>>> y = ("orange",)
							>>> thistuple += y
							>>> 
							>>> print(thistuple)
							('apple', 'banana', 'cherry', 'orange')
						
					

La palabra clave del puede eliminar la tupla por completo:

						
							thistuple = ("apple", "banana", "cherry")
							del thistuple
						
					

Podemos extraer los valores de vuelta a las variables. Esto se llama "desempaquetar":

						
							>>> fruits = ("apple", "banana", "cherry")
							>>> 
							>>> (green, yellow, red) = fruits
							>>> 
							>>> print(green)
							apple
							>>> print(yellow)
							banana
							>>> print(red)
							cherry
						
					

Si el número de variables es menor que el número de valores, puede agregar un * al nombre de la variable y los valores se asignarán a la variable como una lista:

						
							>>> fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
							>>> 
							>>> (green, yellow, *red) = fruits
							>>> 
							>>> print(green)
							apple
							>>> print(yellow)
							banana
							>>> print(red)
							['cherry', 'strawberry', 'raspberry']
						
					

Si se agrega el asterisco a otro nombre de variable que no sea el último, Python asignará valores a la variable hasta que la cantidad de valores restantes coincida con la cantidad de variables restantes.

						
							>>> fruits = ("apple", "mango", "papaya", "pineapple", "cherry")
							>>> 
							>>> (green, *tropic, red) = fruits
							>>> 
							>>> print(green)
							apple
							>>> print(tropic)
							['mango', 'papaya', 'pineapple']
							>>> print(red)
							cherry
						
					

Sets

Los Set se utilizan para almacenar varios elementos en una sola variable.

Un Set es una colección desordenada , inmutable* y no indexada .

Los conjuntos se escriben con llaves.

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> print(thisset)
							{'banana', 'cherry', 'apple'}
						
					
Elementos del conjunto

Los elementos del conjunto no están ordenados, no se pueden modificar y no permiten valores duplicados.

  • Desordenado
  • Inmutable
  • No se permiten duplicados

Los valores True y 1 se consideran el mismo valor en conjuntos y se tratan como duplicados:

						
							>>> thisset = {"apple", "banana", "cherry", True, 1, 2}
							>>> 
							>>> print(thisset)
							{True, 2, 'banana', 'cherry', 'apple'}
						
					

Los valores False y 0 se consideran el mismo valor en conjuntos y se tratan como duplicados:

						
							>>> thisset = {"apple", "banana", "cherry", False, True, 0}
							>>> 
							>>> print(thisset)
							{False, True, 'banana', 'apple', 'cherry'}
						
					
Acceder a elementos

No se puede acceder a los elementos de un conjunto haciendo referencia a un índice o una clave.

Pero puedes recorrer los elementos del conjunto usando un for bucle, o preguntar si un valor especificado está presente en un conjunto, usando la inpalabra clave.

Comprueba si "banana" está presente en el conjunto:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> print("banana" in thisset)
							True
						
					

Comprueba si "banana" NO está presente en el conjunto:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> print("banana" not in thisset)
							False
						
					
Agregar elementos

Una vez creado un conjunto, no puedes cambiar sus elementos, pero puedes agregar elementos nuevos.

Añade un elemento a un conjunto, utilizando el método add():

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> thisset.add("orange")
							>>> 
							>>> print(thisset)
							{'apple', 'orange', 'banana', 'cherry'}
						
					

Para agregar elementos de otro conjunto al conjunto actual, utilice el método update().

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> tropical = {"pineapple", "mango", "papaya"}
							>>> 
							>>> thisset.update(tropical)
							>>> 
							>>> print(thisset)
							{'apple', 'banana', 'papaya', 'mango', 'cherry', 'pineapple'}
						
					

El objeto en el método update() no tiene que ser un conjunto necesariamente, puede ser cualquier objeto iterable (tuplas, listas, diccionarios, etc.).

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> mylist = ["kiwi", "orange"]
							>>> 
							>>> thisset.update(mylist)
							>>> 
							>>> print(thisset)
							{'banana', 'cherry', 'apple', 'kiwi', 'orange'}
						
					
Eliminar elementos

Para eliminar un elemento de un conjunto, utilice el método remove(), o el discard() .

Eliminar "banana" mediante el remove() método:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> thisset.remove("banana")
							>>> 
							>>> print(thisset)
							{'apple', 'cherry'}
						
					

Eliminar "banana" mediante el discard() método:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> thisset.discard("banana")
							>>> 
							>>> print(thisset)
							{'apple', 'cherry'}
						
					

También puedes usar el método pop() para eliminar un elemento, pero este método eliminará un elemento aleatorio, por lo que no puedes estar seguro de qué elemento se elimina.

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> x = thisset.pop()
							>>> 
							>>> print(x)
							cherry
							>>> 
							>>> print(thisset)
							{'banana', 'apple'}
						
					

El método clear() vacía el conjunto:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> thisset.clear()
							>>> 
							>>> print(thisset)
							set()
						
					

La palabra clave del eliminará el conjunto por completo:

						
							>>> thisset = {"apple", "banana", "cherry"}
							>>> 
							>>> del thisset
							>>> 
							>>> print(thisset)
							Traceback (most recent call last):
							  File "", line 1, in 
							NameError: name 'thisset' is not defined
						
					
Unir conjuntos

Los métodos union() y update() unen todos los elementos de ambos conjuntos.

    El método intersection() conserva SÓLO los duplicados.
    El método difference() conserva los elementos del primer conjunto que no están en los otros conjuntos.
    El método symmetric_difference() conserva todos los elementos EXCEPTO los duplicados.

El método union() devuelve un nuevo conjunto con todos los elementos de ambos conjuntos.

						
							>>> set1 = {"a", "b", "c"}
							>>> set2 = {1, 2, 3}
							>>> 
							>>> set3 = set1.union(set2)
							>>> print(set3)
							{1, 'b', 2, 3, 'c', 'a'}
						
					

Puedes utilizar el | operador en lugar del método union() y obtendrás el mismo resultado.

						
							>>> set1 = {"a", "b", "c"}
							>>> set2 = {1, 2, 3}
							>>> 
							>>> set3 = set1 | set2
							>>> print(set3)
							{'a', 1, 2, 'b', 3, 'c'}
						
					

Unir varios conjuntos con el método union():

						
							>>> set1 = {"a", "b", "c"}
							>>> set2 = {1, 2, 3}
							>>> set3 = {"John", "Elena"}
							>>> set4 = {"apple", "bananas", "cherry"}
							>>> 
							>>> myset = set1.union(set2, set3, set4)
							>>> print(myset)
							{'c', 1, 2, 3, 'apple', 'b', 'Elena', 'bananas', 'cherry', 'John', 'a'}
						
					

Al utilizar el operador|, separe los conjuntos con más operadores |:

						
							>>> set1 = {"a", "b", "c"}
							>>> set2 = {1, 2, 3}
							>>> set3 = {"John", "Elena"}
							>>> set4 = {"apple", "bananas", "cherry"}
							>>> 
							>>> myset = set1 | set2 | set3 |set4
							>>> print(myset)
							{1, 2, 3, 'Elena', 'cherry', 'apple', 'John', 'bananas', 'b', 'a', 'c'}
						
					

El método union() le permite unir un conjunto con otros tipos de datos, como listas o tuplas.

						
							>>> x = {"a", "b", "c"}
							>>> y = (1, 2, 3)
							>>> 
							>>> z = x.union(y)
							>>> print(z)
							{1, 2, 3, 'a', 'b', 'c'}
						
					

El método update() inserta todos los elementos de un conjunto en otro.

						
							>>> set1 = {"a", "b" , "c"}
							>>> set2 = {1, 2, 3}
							>>> 
							>>> set1.update(set2)
							>>> print(set1)
							{'b', 1, 2, 3, 'c', 'a'}
						
					
Métodos Set
Método Atajo Descripción
add()   Agrega un elemento al conjunto
clear()   Elimina todos los elementos del conjunto
copy()   Devuelve una copia del conjunto
difference() - Devuelve un conjunto con la diferencia entre dos o más conjuntos
difference_update() -= Elimina los elementos de este conjunto que también están en otro conjunto especificado
discard()   Elimina el elemento especificado
intersection() & Devuelve un conjunto que es la intersección de dos conjuntos
intersection_update() &= Elimina los elementos de este conjunto que no están presentes en otros conjuntos especificados
isdisjoint()   Devuelve si dos conjuntos no tienen intersección
issubset() <= Devuelve si otro conjunto contiene a este conjunto
  < Devuelve si todos los elementos de este conjunto están presentes en otros conjuntos especificados
Métodos Set
Método Atajo Descripción
issuperset() >= Devuelve si este conjunto contiene a otro conjunto
  > Devuelve si todos los elementos de otros conjuntos especificados están presentes en este conjunto
pop()   Elimina un elemento del conjunto
remove()   Elimina el elemento especificado
symmetric_difference() ^ Devuelve un conjunto con las diferencias simétricas de dos conjuntos
symmetric_difference_update() ^= Actualiza el conjunto con la diferencia simétrica entre este conjunto y otro
union() | Devuelve un conjunto que contiene la unión de conjuntos
update() |= Actualiza el conjunto con la unión de este conjunto y otros

Diccionarios

Los diccionarios se utilizan para almacenar valores de datos en pares clave:valor.

Un diccionario es una colección ordenada*, modificable y que no permite duplicados.

Los diccionarios se escriben entre llaves y tienen claves y valores:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> print(thisdict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
						
					
Elementos del diccionario

Los elementos del diccionario están ordenados, se pueden modificar y no se permiten duplicados.

Los elementos del diccionario se presentan en pares clave:valor y se puede hacer referencia a ellos utilizando el nombre de la clave.

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> print(thisdict["brand"])
							Ford
						
					
¿Ordenado o desordenado?

Cuando decimos que los diccionarios están ordenados, significa que los elementos tienen un orden definido, y ese orden no cambiará.

Desordenado significa que los elementos no tienen un orden definido, no se puede hacer referencia a un elemento mediante un índice.

Cambiable

Los diccionarios son modificables, lo que significa que podemos cambiar, agregar o eliminar elementos después de que se haya creado el diccionario.

No se permiten duplicados

Los diccionarios no pueden tener dos elementos con la misma clave:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964,
							...   "year": 2020
							... }
							>>> print(thisdict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 2020}
						
					

Para determinar cuántos elementos tiene un diccionario, utilice la función len():

						
							thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964,
							...   "year": 2020
							... }
							3
						
					

Los valores de los elementos del diccionario pueden ser de cualquier tipo de datos:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "electric": False,
							...   "year": 1964,
							...   "colors": ["red", "white", "blue"]
							... }
						
					

También es posible utilizar el constructor dict() para crear un diccionario.

						
							>>> thisdict = dict(name = "John", age = 36, country = "Norway")
							>>> print(thisdict)
							{'name': 'John', 'age': 36, 'country': 'Norway'}
						
					

Puedes acceder a los elementos de un diccionario consultando su nombre de clave, dentro de corchetes:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> x = thisdict["model"]
							>>> print(x)
							Mustang
						
					

También hay un método llamado get() que te dará el mismo resultado:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> x = thisdict.get("model")
							>>> print(x)
							Mustang
						
					

El método keys() devolverá una lista de todas las claves del diccionario.

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> x = thisdict.keys()
							>>> print(x)
							dict_keys(['brand', 'model', 'year'])
						
					

El método values() devolverá una lista de todos los valores del diccionario.

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> x = thisdict.values()
							>>> print(x)
							dict_values(['Ford', 'Mustang', 1964])
						
					

El método items() devolverá cada elemento de un diccionario, como tuplas en una lista.

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> x = thisdict.items()
							>>> print(x)
							dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])
						
					

Puede cambiar el valor de un elemento específico consultando su nombre de clave:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> thisdict["year"] = 2018
							>>> print(thisdict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 2018}
						
					

El método update() actualizará el diccionario con los elementos del argumento dado. El argumento debe ser un diccionario o un objeto iterable con pares clave:valor.

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> thisdict.update({"year": 2020})
							>>> print(thisdict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 2020}
						
					

Para agregar un elemento al diccionario se utiliza una nueva clave de índice y se le asigna un valor:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> thisdict["color"] = "red"
							>>> print(thisdict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}
						
					

El método pop() elimina el elemento con el nombre de clave especificado:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> thisdict.pop("model")
							'Mustang'
							>>> print(thisdict)
							{'brand': 'Ford', 'year': 1964}
						
					

La palabra clave del elimina el elemento con el nombre de clave especificado:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> del thisdict["model"]
							>>> print(thisdict)
							{'brand': 'Ford', 'year': 1964}
						
					

La palabra clave del también puede eliminar el diccionario por completo.

El método clear() vacía el diccionario:

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> thisdict.clear()
							>>> print(thisdict)
							{}
						
					
Copiar un diccionario

No se puede copiar un diccionario simplemente escribiendo dict2 = dict1, porque: dict2 solo será una referencia a dict1, y los cambios realizados en dict1 se realizarán automáticamente también en dict2. Una forma es utilizar el método Diccionario incorporado copy().

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> mydict = thisdict.copy()
							>>> print(mydict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
						
					

Otra forma de hacer una copia es utilizar la función incorporada dict().

						
							>>> thisdict = {
							...   "brand": "Ford",
							...   "model": "Mustang",
							...   "year": 1964
							... }
							>>> mydict = dict(thisdict)
							>>> print(mydict)
							{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
						
					

Un diccionario puede contener diccionarios, esto se llama diccionarios anidados.

						
							>>> myfamily = {
							...   "child1" : {
							...     "name" : "Emil",
							...     "year" : 2004
							...   },
							...   "child2" : {
							...     "name" : "Tobias",
							...     "year" : 2007
							...   },
							...   "child3" : {
							...     "name" : "Linus",
							...     "year" : 2011
							...   }
							... }
						
					

Un diccionario puede contener diccionarios, esto se llama diccionarios anidados.

						
							>>> myfamily = {
							...   "child1" : {
							...     "name" : "Emil",
							...     "year" : 2004
							...   },
							...   "child2" : {
							...     "name" : "Tobias",
							...     "year" : 2007
							...   },
							...   "child3" : {
							...     "name" : "Linus",
							...     "year" : 2011
							...   }
							... }
						
					

O bien, si desea agregar tres diccionarios en un nuevo diccionario:

						
							>>> child1 = {
							...   "name" : "Emil",
							...   "year" : 2004
							... }
							>>> child2 = {
							...   "name" : "Tobias",
							...   "year" : 2007
							... }
							>>> child3 = {
							...   "name" : "Linus",
							...   "year" : 2011
							... }
							>>> 
							>>> myfamily = {
							...   "child1" : child1,
							...   "child2" : child2,
							...   "child3" : child3
							... }
						
					

Para acceder a los elementos de un diccionario anidado, utilice el nombre de los diccionarios, comenzando con el diccionario externo:

						
							>>> child1 = {
							...   "name" : "Emil",
							...   "year" : 2004
							... }
							>>> child2 = {
							...   "name" : "Tobias",
							...   "year" : 2007
							... }
							>>> child3 = {
							...   "name" : "Linus",
							...   "year" : 2011
							... }
							>>> 
							>>> myfamily = {
							...   "child1" : child1,
							...   "child2" : child2,
							...   "child3" : child3
							... }
							>>> print(myfamily["child2"]["name"])
							Tobias
						
					
Métodos de diccionario
Método Descripción
clear() Elimina todos los elementos del diccionario
copy() Devuelve una copia del diccionario
fromkeys() Devuelve un diccionario con las claves y el valor especificados
get() Devuelve el valor de la clave especificada
items() Devuelve una lista que contiene una tupla por cada par clave-valor
keys() Devuelve una lista que contiene las claves del diccionario
pop() Elimina el elemento con la clave especificada
popitem() Elimina el último par clave-valor insertado
setdefault() Devuelve el valor de la clave especificada. Si la clave no existe: inserta la clave con el valor especificado
update() Actualiza el diccionario con los pares clave-valor especificados
values() Devuelve una lista de todos los valores en el diccionario