Está en la página 1de 38

Python

SECUENCIAS

1/38
SECUENCIAS
 En programación una estructura de datos es una
forma de organizar un conjunto de datos con el
objetivo de facilitar su manipulación

 Las estructuras de datos tienen


 La forma en que se organizan sus elementos
 Operaciones de manipulación

 En Python una secuencia es un tipo de


estructura de datos

 Muy útiles cuando ocupamos trabajar con grupos


o conjuntos de valores
2/38
Secuencias comunes
en Python
oStrings
oListas
oTuplas
3/38
 Strings
"Buenos días" "Gracias"

 Listas
[10,30,25,-10.5] ["ITCR", "UCR", "UNA" ]
[-80, "abc", True, 95.25, 95]

 Tuplas
(3, 100, 0) ("Alberto", 2010100)
4/38
OPERACIONES COMUNES
DE LAS SECUENCIAS
 Indexación

 Membresía

 Trozo (slice)

 Largo, mínimo, máximo

5/38
Python

Tipo de secuencia:

STRINGS

6/38
STRINGS
 Una variable tipo string es una
secuencia de caracteres (hilera,
cadena)

 Un dato tipo string esta encerrado


entre dobles o simples comillas

 A cada elemento de un string lo


llamamos caracter
7/38
INDEXACIÓN
 Cada elemento de una secuencia tiene un
índice, es decir, un número entero que
indica la posición del elemento dentro de la
secuencia

 El índice lo usamos para trabajar con un


elemento específico de la secuencia.
Usamos la siguiente sintaxis:
secuencia [ índice ]

8/38
 Índice positivo: cuando se cuentan los
elementos de izquierda a derecha. El
primer elemento tiene el índice 0, el
segundo elemento tiene el índice 1, etc.
 Es la forma mas común trabajar con las
secuencias

 Índice negativo: cuando se cuentan los


elementos de derecha a izquierda. El
primer elemento tiene el índice –1, el
siguiente –2, etc.
9/38
Ejemplo de indexación del string:
“Hola, mundo.”
Cada carácter en el string es un elemento de dicha secuencia.

>>> var = "Hola, mundo."


>>> letra = var[1]
>>> print (letra)
o
>>> letra = var[0]
>>> print (letra)
H
>>> print(var[0],var[6], var[-9])
Hma
10/38
MEMBRESÍA
 Operador “in”

 Se usa para determinar si un elemento


pertenece a una secuencia
 Si el elemento pertenece a la secuencia el
resultado es True
 Si el elemento no pertenece a la secuencia, el
resultado es False

 El operador “in” también puede usarse


junto con el operador “not”: “not in”
11/38
MEMBRESÍA EN UN STRING
>>> carreras = "E PI IA IM"
>>> "E" in carreras
True
>>> "C" in carreras
False
>>> "C" not in carreras
True

12/38
TROZO DE UN STRING
 Un trozo (slice) permite manejar grupos de
elementos de una secuencia

 Para obtener un trozo se usan dos índices


separados por ":"

secuencia[i:j]
 Obtiene un trozo (grupo) de elementos de
izquierda a derecha:
 Desde el elemento con el índice i
 Hasta el elemento con el índice j - 1

13/38
 Si el primer índice no se especifica se
toma desde el primer elemento

 Si el segundo índice no se especifica


se toma hasta el último elemento

 Si especificamos solo los ":" estamos


trabajando con toda la secuencia

14/38
Ejemplos de trozos de un string
>>> var = "Hola mundo!"
>>> var [5:10]
'mundo'
>>> var [:4]
'Hola'
>>> var [5:]
'mundo!'
>>> print(var[:])
Hola mundo!
>>> print(var[2:-3])
la mun
>>> print(var[-1:-3]) # empieza de izquierda a derecha

>>> print(var[-3:-1])
do
15/38
LARGO, MÍNIMO, MÁXIMO
 Largo de un string: función “len”

 Elemento de menor valor en un string:


función “min”

 Elemento de mayor valor en un string:


función “max”

 Para aplicar “min” y “max” los elementos


deben ser homogéneos: mismo tipo de
datos. Además las secuencias deben tener al
menos un elemento. 16/38
 Ejemplos
>>> letras="eabczxm"
>>> len(letras)
7
>>> min(letras)
'a'
>>> max(letras)
'z'
>>>
 String vacío: ""  len("")  0 17/38
 ¿ qué sucede en la última
instrucción ?

>>> var = "Hola mundo."


>>> len (var)
11
>>> letra = var[len(var)]

18/38
OPERADORES PARA STRINGS
 Concatenación (unir): “+”

>>> fruta = "Fresas"


>>> merienda = " con helado"
>>> x=fruta+merienda
>>> print (x)
Fresas con helado
>>>

19/38
 Repetición: "*"

>>> "Tec"*3
'TecTecTec'

>>> "4"*5
'44444'

20/38
RECORRIDO DE STRINGS
 Recorrer una variable de tipo string
es pasar por cada uno de sus
caracteres

 Se pueden usar los estatutos de


ciclos

21/38
 Ejemplo con “for-in”

>>> prefijo = "TEC-"


>>> sufijo = "12"
>>> for letra in sufijo:
print (prefijo+letra)

TEC-1
TEC-2
>>>
22/38
 Ejemplo con “while”

>>> carreras = “CAPIMI"


>>> i = 0
>>> while i< len(carreras):
print (carreras[i:i+2])
i=i+2
CA
PI
MI
>>>
23/38
STRING SON INMUTABLES
 Un elemento de una variable tipo string no
puede ser cambiado

>>> var = "Hola mundo!"


>>> var [10] = "."
Traceback (most recent call last):
File "<pyshell#46>", line 1, in <module>
var [10] = "."
TypeError: 'str' object does not support item assignment

24/38
 Alternativa para hacer esta modificación:
asignación a una variable que puede
ser la misma u otra

>>> var = "Hola mundo!"


>>> var = "Saludos"+var[4:]
>>> print (var)
Saludos mundo!

25/38
COMPARACIÓN DE STRING

 Los operadores de comparación


trabajan sobre strings

26/38
 Cada carácter tiene un código numérico
interno asociado el cual se puede obtener con
la función “ord”. La comparación se basa en
este código.
(blanco / números / mayúsculas / minúsculas)

 Ejemplo:
for c in [" ","0","1","2","A","B","C","a","b","c"]:
print (ord(c),end=" " )

32 48 49 50 65 66 67 97 98 99
27/38
Ejemplos:

var= "pax"
var1= "pasa"
¿ cuál valor es mayor ?

var= "p"
var1= "papa"
¿ cuál valor es mayor ?

28/38
var= "Padre"
var1= "padre"
¿ cuál valor es mayor ?

var= "padre"
var1= "mapa"
¿ cuál valor es mayor ?

Función chr(expresión): da el caracter asociado al


número en la expresión
>>> chr(97)
'a' 29/38
MÉTODOS PARA STRINGS
 Método: es un tipo de función que ejecuta
operaciones sobre un objeto (por ejemplo
sobre: un string, una lista, etc.)

 Sintaxis para usar métodos


 Los métodos utilizan la notación de punto
para hacer referencia al objeto:

Nombre del objeto . Nombre del método (argumentos)

30/38
MÉTODO “ENCONTRAR” (“find”)
 Toma un substring (parte de un
string) y retorna el índice en donde
aparece por primera vez en el string
indicado

 Si el substring no esta en el string la


función retorna –1

31/38
 Sintaxis
 objetoString.find(sub[,start[,end]])

 Ejemplos
>>> var = "banana"
>>> print (var.find("a"))
1
>>> print (var.find("na"))
2
>>> print (var.find("na",3))
4
>>> print (var.find("ba",1,3))
-1
32/38
MÉTODO “CONTAR” (“count”)
 Cuenta las veces que un substring
aparece dentro de un string

 Sintaxis
 objetoString.count(sub[,start[,end]])

 Ejemplo:
>>> var = "Hola mundo!"
>>> print (var.count("o"))
2
33/38
MÉTODO “DIVIDIR” (“split”)
 Toma un string y lo divide en una
lista de palabras

 Sintaxis
 objetoString.split([delimiter])

 Sino se da el delimitador de las


palabras, Python asume que ese
delimitador es el espacio en blanco
El delimitador no se incluye en las palabras
resultantes
34/38
 Ejemplos
>>> frase="La lluvia en Cartago"
>>> lp=frase.split()
>>> print(lp)
['La', 'lluvia', 'en', 'Cartago']

>>> lp=frase.split("a")
>>> print(lp)
['L', ' lluvi', ' en C', 'rt', 'go']

35/38
MÉTODO “UNIR” (“join”)
 Toma una lista de strings y los une
creando un solo string

 Sintaxis
 delimitador.join(objetoLista)

 El delimitador es un string que se


agrega entre cada elemento del
objetoLista para obtener el nuevo
string
36/38
 Ejemplos:
>>> lp
['La', 'lluvia', 'en', 'Cartago']

>>> frase2=" ".join(lp)


>>> frase2
'La lluvia en Cartago'

>>> frase2="--".join(lp)
>>> frase2
'La--lluvia--en--Cartago' 37/38
 Otros métodos aplicados a los strings: libro
de texto

 Ejercicio: Haga la función solo_dígitos que


reciba un string y retorne otro string con
solo los dígitos que contenga. Ejemplos:
solo_dígitos("aTj823ski9")
'8239'
solo_dígitos("sdjnd")
'' 38/38

También podría gustarte