Está en la página 1de 21

Python

TIPOS DE DATO SECUENCIA (CONTENEDORES)


Son una secuencia de datos. Pueden ser: cadenas
de caracteres, listas, tuplas, conjuntos, diccionarios
1. CADENAS DE CARACTERES - Strings
Tipo de dato str, para representar cadenas de
caracteres, para uso en procesado de textos.
Se delimitan por '...', "...", '''...''', o """...""“ (varias líneas)
Python usa el conjunto de caracteres Unicode.
Para especificar caracteres especiales se usan
“secuencias de escape”. Ejemplo: \t, \n, \r
Los String son immutables, es decir, su contenido no se
puede modificar
Para convertir números en strings se usa str() Para
convertir strings a números int() o float()
Funciones y operadores para cadenas de caracteres
FUNCIÓN/OP DESCRIPCIÓN EJEMPLO,s='Hello'
len() Longitud len(s) ⇒ 5
in Contiene? 'ell' in s ⇒ True
'he' in s ⇒ False
+ Concatenacion s + '!' ⇒ 'Hello!'
* Repeticion s * 2 ⇒ 'HelloHello'
[ i ], Devuelve un caracter: s[1] ⇒ 'e'
[-i] [i] índice hacia adelante desde 0 s[-4] ⇒ 'e'
[-i] índice hacia atras desde -1
[m:n], Retorna un substring. s[1:3] ⇒ 'el'
[m:], Índice hacia adelante m s[1:-2] ⇒ 'el'
[:n], (incluido) hasta n (excluido) con s[3:] ⇒ 'lo'
[m:n:step] un opcional tamaño de paso s[:-2] ⇒ 'Hel'
step. s[:] ⇒ 'Hello'
Por defecto m=0, n=1, step=1. s[0:5:2] ⇒ 'Hlo'
Cadenas de caracteres
>>> s = "Hello, world"
>>> type(s) # Tipo de dato de s
<class 'str'>
>>> s[1:-1]
'ello, worl'
'Hello, world'
# Concatenation (+) and Repetition (*)
>>> s = s + " again" # Concatenate two strings
>>> s
'Hello, world again'
>>> s * 3 # Repeat 3 times
'Hello, world againHello, world againHello, world again'
>>> s[0] = 'a‘ # String es immutable
TypeError: 'str' object does not support item assignment
FUNCIONES ESPECÍFICAS PARA CADENAS DE
CARACTERES
La clase str tiene funciones miembro: (Si s es un objeto str)
s.strip() elimina de s espacios blancos de ambos extremos
s.rstrip() elimina de s espacios blancos de la derecha
s.lstrip() elimina de s espacios blancos de la izquierda
s.upper(), convierte s a mayúsculas
s.lower(), convierte s a minúsculas
s.isupper(), retorna true si s solo contiene mayúsculas
s.islower(), retorna true si s solo contiene minúsculas
s.find(s1), busca la subcadena s1 en s, retorna índice o -1
s.index(s1) retorna el índice de s1 en s o error
s.startswith(s1), True si s empieza en s1
s.endswith(s1), True si s termina en s1
TIPO “CARÁCTER” = str de longitud 1
Python no tiene tipo de dato caracter. Un caracter es un
string de longitud 1, en el que operan las funciones:
>>> ord('A') # retorna el entero ordinal (Unicode): 65
>>> chr(65) # retorna un string con Unicode ordinal 65: 'A'
Funciones string str.rjust(n), str.ljust(n), str.center(n),
str.zfill(n) donde n es el ancho de campo
>>> '123'.rjust(5) # justifica a la derecha: ' 123'
>>> '123'.ljust(5) # justifica a la izquierda: '123 '
>>> '123'.center(5) # centra: ' 123 '
>>> '123'.zfill(5) # llena con ceros al principio
'00123'
>>> '1.2'.rjust(5) # también funcionan con Float
' 1.2'
2. LISTAS
Python dispone de la estructura de datos integrada
lista (tipo de dato list) para arrays dinámicos.
Una lista es encerrada entre corchetes [ ].
Puede contener elementos de diferentes tipos de dato.
Crecen y se encogen dinámicamente (son mutables).
Los elementos se acceden mediante índice,
empezando por cero.
Hay funciones integradas (ejemplo: len(), max(), min(),
sum()), y operadores.
>>> unaListaP = list() # crea una lista vacía
>>> otraListaP = [ ] # crea lista vacía
>>> fecha = [3, 11, 2016] # crea lista de enteros
2. LISTAS
Repetición:
>>> L1 = [1, 2]
>>> L2 = [10, 20, 30]
>>> L1 * 3
[1, 2, 1, 2, 1, 2]
Concatenación:
>>> L1 + L2
[1, 2, 10, 20, 30]
>>> L2 + [“aqui termino”]
[10, 20, 30, “aqui termino”]
Acceso:
>>> L2[0]
10
OPERADORES PARA LISTAS
OPERAD DESCRIPCIÓN EJEMPLOS, LST = [8, 9, 6, 2]
in Contiene? 9 in lst ⇒ True
5 in lst ⇒ False
+ Concatenar lst + [5, 2] ⇒ [8, 9, 6, 2, 5, 2]
* Repeticion lst * 2 ⇒ [8, 9, 6, 2, 8, 9, 6, 2]
[i], [-i] Devuelve un elemento: lst[1] ⇒ 9
[i] índice hacia adelante de 0 lst[-2] ⇒ 6
[-i] índice hacia atras desde -1 lst[1] = 99 ⇒ modifica un element
[m:n], Retorna un substring. lst[1:3] ⇒ [9, 6]
[m:], Índice hacia adelante m lst[1:-2] ⇒ [9]
[:n], (incluido) hasta n (excluido) lst[3:] ⇒ [2]
[m:n:step] con un opcional tamaño de lst[:-2] ⇒ [8, 9]
paso step. lst[:] ⇒ [8, 9, 6, 2]
Por defecto m=0, n=1, lst[0:4:2] ⇒ [8, 6]
step=1. newlst = lst[:] ⇒ copia la lista
lst[4:] = [1, 2] ⇒ modifica sub-lista
del Elimina uno o más del lst[1] ⇒ lst is [8, 6, 2]
elementos del lst[1:] ⇒ lst is [8]
del lst[:] ⇒ lst is [] (vacia la lista)
FUNCIONES PARA LISTAS

FUNCIÓN DESCRIPCIÓN EJEMPLO, LST=[8, 9, 6, 2]

len() Length len(lst) ⇒ 4

max(), Maximo y minimo max(lst) ⇒ 9 min(lst) ⇒ 2


min() valor (solo para lista
de nùmeros)

sum() Suma (solo para sum(lst) ⇒ 16


lista de números)
FUNCIONES PARA LISTAS
Suponiendo que lst es un objeto list:
lst.append(elemento): concatena elemento al final de
lst y retorna None; lo mismo que: lst[len(lst):] = [item].
lst.extend(lst2): concatena la lista lst2 al final de lst y
retorna None; similar a lst[len(lst):] = lst2.
lst.insert(indice, elemento): inserta elemento antes
del indice y retorna None.
lst.insert(0, elemento) inserta antes del primer
elemento de lst;
lst.insert(len(lst), elemento) inserta al final de lst, es
similar a: lst.append(item).
lst.index(elemento): retorna el índice de la primera
ocurrencia del elemento; o error. 11
FUNCIONES PARA LISTAS
lst.remove(elemento): elimina la primera ocurrencia
del elemento de lst y retorna None; o error.
lst.pop(): elimina y retorna el ultimo elemento de lst.
lst.pop(indice): elimina y retorna el elemento en la
posición del índice de lst.
lst.clear(): elimina todos los elementos de lst y retorna
None; es similar a: del lst[:].
lst.count(elemento): retorna el No. de veces que
elemento se repite en lst.
lst.reverse(): invierte lst y retorna None.
lst.sort(): ordena lst y retorna None.
lst.copy(): retorna una copia de lst; similar a lst[:].
12
3. TUPLAS

Tipo de dato tuple, son similares a las listas


excepto que son inmutables (como los string).
Consiste en una serie de elementos separados
por comas, entre paréntesis: (20, 4, 8)
Se puede convertir a listas mediante list(tupla).
Se opera sobre tuplas (tup) con:
funciones integradas: len(tup), para tuplas de
números: max(tup), min(tup), sum(tup)
operadores como in, + y *
funciones de tupla: tup.count(item),
tup.index(item), etc 13
4. DICCIONARIOS

Tipo de dato objeto de la clase dict, son pares clave-valor


(mappings) entre llaves { }. La clave y el valor se separa
por: con el formato {k1:v1, k2:v2, ...}. Es mutable.
A diferencia de las listas y tuplas que usan un índice entero
para acceder a los elementos, los diccionarios se pueden
indexar con cualquier tipo llave (número,cadena,otros tipos)
>>> d = dict() # crea un diccionario vacío
>>> d = { } # también crea un diccionario vacío
>>> dc = {'nombre':‘Ana', ‘sexo':‘femenino', ‘edad':21}
>>> dc
{'nombre':‘Ana', ‘sexo':‘femenino', ‘edad':21}
>>> d = dict(dc) # copia dc en d
>>> d
{'nombre':‘Ana', ‘sexo':‘femenino', ‘edad':21}
14
4. DICCIONARIOS
>>> dc['nombre'] # obtiene el valor mediante la clave
‘Ana'
>>> dc[‘edad'] = 22 # Re-asigna un valor
>>> dc
{'nombre':‘Ana', ‘sexo':‘femenino', ‘edad':22}
>>> len(dc)
3
>>> dc['email'] = ‘ac@yh.com' # Añade un elemento
>>> dc
{'nombre':‘Ana',‘sexo':‘femenino',‘edad':22, 'email‘:‘ac@yh.com'}
>>> type(dc)
<class 'dict'>
>>> ‘nombre’ in dc # determina si la clave está en el diccionario
True
>>> ‘nombre’ not in dc # determina si clave no está en dc
False
15
4. DICCIONARIOS
Funciones para diccionarios de uso frecuente:
dc.items() # elementos de dc
dc.keys() # claves de dc
dc.values() # valores de dc
dc.clear() # elimina todos los elementos de dc
dc1= dc.copy() # copia dc a dc1
dc.get(clave) # retorna el valor asociado a la clave
dc.update(dc2) # actualiza el dc con el diccionario dc2.
dc.popitem() # retorna y elimina el ultimo elemento de dc
dc.pop(clave) # retorna y elimina el elemento con clave
dada.

16
5. CONJUNTOS
Tipo de dato set.
Es una colección de objetos sin ordenar no duplicados.
Es una colección mutable, se puede usar add() para
añadir elementos. Un set se especifica encerrando los
elementos entre entre llaves.
Se puede pensar que un set es un dict de llaves sin
valor asociado.
Operadores set: & (intersection), | (union), -
(difference), ^ (exclusive-or) y in (pertenencia).
Operaciones comunes con conjuntos
.

17
OPERACIONES DE CONJUNTOS
OPERACIÓN DESCRIPCIÓN
s= set() Crea un conjunto vacío
s=set(seq) Copia el conjunto seq en s
s= {‘a’,’e’,’i’,’o’,’u’} Crea un conjunto con elementos dados
len(s) Número de elementos de s
‘a’ in s Determina si un elemento pertenece o
‘u’ not in s no al conjunto s
s.add(‘b’) Adiciona un elemento al conjunto s
s.discard(‘b’) Elimina un elemento del conjunto s. Si el
s.remove(‘b’) elemento no está en s, discard no hace
nada y remove retorna una excepción
s.clear() Elimina todos los elementos de s
s.Issubset(t) Retorna True si s es subconjunto de t
18
OPERACIONES DE CONJUNTOS

OPERACIÓN DESCRIPCIÓN
s == t Retorna True o False, indicando si el
s != t conjunto s es o no igual al conjunto t
s.union(t) Retorna un nuevo conjunto que
contiene todos los elementos de los
conjuntos s y t
s.intersection(t) Retorna un nuevo conjunto que
contiene los elementos que
pertenecen a los conjuntos s y t
simultáneamente
s.difference(t) Retorna un nuevo conjunto que
contiene los elementos que
pertenecen al conjunto s y no
pertenecen al conjunto t 19
ESTRUCTURAS COMPLEJAS

Los contenedores son muy útiles para almacenar


colecciones de valores.
Las listas y diccionarios pueden contener cualquier
dato incluyendo otros contenedores.
Así se puede crear un diccionario de conjuntos o
diccionario de listas

20
GRACIAS

También podría gustarte