Lathack

Tipos de datos y colecciones en Python

Tipos de datos y colecciones en Pytohn

Python es un lenguaje de “tipado” dinámico. Esto quiere decir que las variables, como se las conoce en otros lenguajes, no son una suerte de cajas que aceptan únicamente un tipo de dato, sino más bien etiquetas que se le asignan a un objeto de cualquier tipo. No es tan necesario saber cómo el intérprete maneja internamente las variables, simplemente tener en cuenta que no están ligadas a un tipo de dato en específico, y que acostumbramos a llamarlas “objetos” (ya veremos por qué).

A continuación estaremos indagando sobre los conceptos básicos que debemos tener en cuenta para estudiar. Estos so, los tipos de datos y colecciones en Python.

Tipos de datos en Python

Este lenguaje tiene los tipos de dato entero(int), flotante(float), complejo(complex), booleanos(bool) y strings(str). Podemos asignar el nombre que queramos, respetando siempre de no usar las palabras reservadas (lista de palabras reservadas) de Python, ni espacios, guiones o números al principio.

Primero empecemos por abrir la consola interactiva de Python y escribir lo siguiente:

>>>dato = 1

A partir de ahora, siempre que veas los caracteres “>>>” da por sentado que estamos trabajando sobre nuestra consola interactiva. Entonces hemos creado un objeto que contiene el número 1. Escribiendo el nombre de un objeto en la consola interactiva obtenemos su valor.

dato

Out:
1

La función type(), nos permite averiguar el tipo de dato de una variable.

type(dato)

Out:
<class ‘int’>

Como los objetos no están ligados a un tipo específico de datos, ahora podemos reemplazar el contenido de dato por una cadena:

dato = «Hola mundo!»

dato

type(dato)

Out:

Hola mundo!’

<class ‘str’>

En Python las cadenas se construyen con comillas simples o dobles.

Ya hemos visto dos tipos de datos: un número entero (int) y una cadena (str). Continuemos creando un número de coma flotante y un booleano.

b = True

Un objeto booleano puede contener los valores True o False (ambos valores con Mayúscula la primera letra). En los valores flotantes se coloca la coma (,) como punto (.).

pi = 3.14

Y por último, no tan utilizados, los complejos:

j = 3 + 2n

Este ejemplo tiene parte real con valor 3 y parte imaginaria 2n none. Cuando queremos crear un objeto, pero por el momento no asignarle ningún valor, por lo general se utiliza none (en inglés, literalmente, “nada”). Esta palabra se usa para que la variable (u objeto) no tenga ningún tipo de dato asociado. Sin embargo, none no es un tipo de dato.

b = none
type(a)

Out:
<class ‘NoneType’>

Casting

Cast o Casting significa convertir un tipo de dato a otro. Vimos tipos de datos como los int, string o float. Pues bien, es posible convertir de un tipo a otro.

Conversión implícita

Sucede cuando realizamos ciertas operaciones con dos tipos distintos. Esto se realiza de forma automáticamente por Python.

a = 1
b = 3.5
a = a + b
print(a)

Out:
4.5

Podemos ver como internamente Python ha convertido el int en float para poder realizar la operación, y la variable resultante es float.

Conversión explícita

Es realizada expresamente por nosotros. Por ejemplo, convertir de str a int con str().

a = 7.5
int(a)

Out:
7

b = 20
str(b)

Out:
’20’

edad = «32»
int(edad)

Out:
32

Podemos hacer conversiones entre tipos de manera explícita haciendo uso de diferentes funciones que nos proporciona Python. Por tanto, las más usadas son las siguientes: float(), str(), int().

Tipos de Colecciones en Python

Tipos de datos y colecciones en Pytohn

Python tiene una variedad de colecciones para agrupar datos en estructuras de diferentes tipos. Tenemos colecciones ordenadas, o no ordenadas, y otras mutables o inmutables. Las colecciones ordenadas son aquellas que pueden ser indexadas, es decir, que se pueden usar números enteros para acceder a sus elementos. Son colecciones ordenadas (o secuencias) las listas y las tuplas.

Como colecciones no ordenadas tenemos los diccionarios. También existen los sets y los frozenset, aunque estos últimos no suelen ser muy empleados.

Listas

Las listas son objetos mutables (es decir, su contenido puede variar) y ordenados. En otros lenguajes existen estructuras similares. Podemos acceder a sus elementos a partir de su posición, indicando un índice entre corchetes, comenzando desde el 0.

Esto es muy importante tenerlo en cuenta, ya que, este lenguaje toma como primer valor la posición 0.

datos = [1, 2, 3]
datos[0]

Out:

1
datos[1]

Out:

2
datos[2]

Out:

3

Los índices pueden ser negativos, para indicar que se debe empezar a contar desde el último elemento:

datos[-1]

Out:
3
datos[-2]

Out:
2

La indexación se puede realizar con uno, dos o tres parámetros. Con dos parámetros se puede seleccionar porciones (slices) de la secuencia (Se toma el primer valor y NO el segundo). El tercer parámetro indica el paso con el que los elementos deben tomarse.

animales =[«Gato»,»Perro»,»Gallo»,»Caballo»,»Tiburon»,»Pajaro»]
animales[2:5]

Out:
[‘Gallo’, ‘Caballo’, ‘Tiburon’]

animales[0:5:2]

Out:
[‘Gato’, ‘Gallo’, ‘Tiburon’]

Los elementos dentro de una lista no necesariamente tienen que ser del mismo tipo. Incluso pueden contener otras listas

b = [3.14, True, [«Hola mundo», False]]
b[0]

Out:
3.14
b[1]

Out:
True
b[2]

Out:
[‘Hola mundo’, False]

b[2][0]

Out:
‘Hola mundo’
b[2][1]

Out:
False

Como las listas son objetos mutables, podemos cambiar el objeto en una posición determinada con una simple asignación.

k=[1, 2, 3, 4]
k[2] = «Hola mundo»
k

Out:
[1, 2, ‘Hola mundo’, 4]

Las listas poseen funciones propias. Es decir, métodos con los cuales podemos trabajarlas de forma más óptima.

Función append()

Con esta función añadimos un elemento al final de una lista:

a = [1, 2, 3]
a.append(4)
a

Out:
[1, 2, 3, 4]

Función insert()

Para insertar un elemento en una posición específica, esta función  toma como primer argumento un índice de base 0 seguido del objeto a insertar.

a = [1, 2, 3]

a.insert(2, -1)
a

Out:
[ 1, 2, -1, 3, 4, 5]

Función clear()

Su función es vaciar todos los elementos de una lista. Veamos a continuación:

lista=[1,2,3,4]

lista.clear()

lista

Out:

[]

Función extend()

Su función es unir una lista con otra. Por ejemplo:

l1=[1,2,3]

l2=[4,5,6]

l1.extend(l2)

l1

Out:

[1, 2, 3, 4, 5, 6]

Función count()

Se encarga de contar el número de veces que aparece un ítem:

lista=[«Hola», «mundo», «mundo», “chau”]

lista.count(“mundo”)

Out:

2

Y muchos más.. Estos suelen ser los mas conocidos.

Tuplas

Las tuplas son similares a las listas, pero son objetos inmutables. Una vez creada una tupla, no pueden añadirse ni removerse elementos.

t = (1, 2, 3, 4)

Se crean indicando sus elementos entre paréntesis (aunque también pueden omitirse) y, al igual que las listas, pueden contener objetos de distintos tipos, incluso otras tuplas. Para acceder a sus elementos debemos indicar su posición entre corchetes.

Es importante aclarar que, para crear una tupla con un único elemento, se debe usar una coma (,) al final:

x = (1,)

Ya que los paréntesis también son utilizados para agrupar expresiones y, de lo contrario, Python no podría distinguir si se trata de una expresión o de una tupla con un único elemento.
Siempre que requiramos de un conjunto ordenado de objetos, debemos pensar si su contenido será modificado en el transcurso del programa. En caso afirmativo, crearemos una lista. De lo contrario, una tupla.

Método unpacking

Las listas y tuplas soportan un método llamado unpacking (cuya traducción podría ser “desempaquetamiento”). Veámos en un ejemplo:

u = (1,2,3)

a,b,c = u

a

Out:

1

b

Out:

2

c

Out:

3

La operación a, b, c = u equivale a:

a = u[0]

b = u[1]

c = u[2]

Es importante que la cantidad de objetos a la izquierda coincida con el número de elementos en la colección a la derecha.

Diccionarios

El último tipo de colección que veremos se llama diccionario. Es lo que en otros lenguajes se conoce como vector o lista asociativa. Está constituido por pares de una clave y un valor.

d = {«a»: 1, «b»: 2}

En este caso, las claves son las cadenas “a” y “b”, que están asociadas a los números 1 y 2, respectivamente. De esta forma, podremos acceder a los valores a partir de su respectiva clave.

d[«a»]

Out:
1
d[«b»]

Out:
2

Los valores en un diccionario pueden ser de cualquier tipo, también otros diccionarios. Las claves solo pueden ser objetos inmutables (por ejemplo, cadenas, enteros, números de coma flotante, tuplas; no así listas) y no pueden repetirse dentro de un mismo diccionario.

d = {123: «Hola, mundo», True: 3.14, (1, 2): False}
d[123]

Out:
‘Hola, mundo’
d[True]

Out:
3.14
d[(1, 2)]

Out:
False

Los pares clave-valor de un diccionario no pueden ser accedidos a partir de un índice porque no es una colección ordenada. Para cambiar el valor de una clave mantenemos la misma sintaxis que en las listas:

c={«a»: 1, «b»: 2}
c[«b»] = 3.14
c

Out:
{‘a’: 1, ‘b’: 3.14}

Lo cual también sirve para añadir elementos:

c[«c»] = «Hola mundo»
c

Out:
{‘a’: 1, ‘b’: 3.14, ‘c’:’Hola mundo’}

Y para remover un par clave-valor:

del c[«b»]
c

Out:
{‘a’: 1, ‘c’: ‘Hola mundo’}

Función len() y del

Para conocer la cantidad de elementos de una colección indistintamente del tipo, utilizamos la función len(). El len() es una función propia del lenguaje, NO es un método puntual de alguna colección.

len([1, 2, 3])

Out:
3
len((True, False))

Out:
2
len({«a»: 1})

Out:
1
len(«Hola mundo»)

Out:
10

La palabra clave “del” se usa principalmente para eliminar objetos. Dado que en Python todo representa un objeto de una forma u otra. “del” se puede usar para eliminar una lista, eliminar una parte de una lista, eliminar diccionarios, eliminar pares clave-valor de un diccionario, eliminar variables, etc.

numeros=[10,20,30]
del numeros[1]
numeros

Out:
[10, 30]

x=10
x

Out:
10
del x
x

Out:
Traceback (most recent call last):
File «<stdin>», line 1, in <module>
NameError: name ‘x’ is not defined

Los tipos de datos y colecciones en Python que hemos visto, son de uso y estudio fundamental , ya que se usarán en todos lo temas siguientes. Para practicarlos puede hacerlo a través de los ejercicios resueltos.

Deja una respuesta

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

cinco × 2 =

Lathack
Scroll al inicio