Mètodes de cadenes a Python
Contingut
Operacions a cadenes
len() – compta el nombre de caràcters
ord() – retorna el número ASCII del caràcter passat com a argument, també conegut com a punt de codi (code point). Si es posa més d'un caràcter es produeix l'excepció TypeError.
chr() – retorna el caràcter corresponent al número ASCII (code point) del caràcter passat com a argument. Si l'argument és incorrecte (negatiu o punt de codi invàlid) es produeix l'excepció ValueError o TypeError.
Concatenació (+)
cad1 = "Escola" cad2 = "del" cad3 = "Clot" cad4 = cad1 + " " + cad2 + " " +cad3 print(cad4)
Escola del Clot
Replicació (*)
cad3 = "Clot" cad4 = 4 * (cad3 + " " ) print(cad4)
Clot Clot Clot Clot
Talls (slices)
alpha = "Escola del Clot" print(alpha[1:3])# des de la posició 1 (s) fins a l'anterior a 3 (o) print(alpha[3:])# a partir de la posició 3 (o) print(alpha[:3])# fins abans de la posició 3 (o) print(alpha[3:-2])# des de posició 3 (o) fins l'anterior de la 2a pel final (o) print(alpha[-8:10])# des de la 8a pel final (d) fins a l'anterior a 10 ( ) print(alpha[::2])# des del principi de 2 en 2 print(alpha[1::3])# des de la posició 1 de 3 en 3
sc ola del Clot Esc ola del Cl del Ecl e lt sld o
in i not
text = "Escola del Clot" print("e" in text) print('e' not in text) print('Clot' in text) print('clot' not in text)
True False True True
min() i max()
print(min("Escola")) e = 'Escola del Clot' print('{' + min(e) + '}') # En aquest cas el caràcter mínim és l'espai (punt de codi a la taula ASCII: 32) e = [1, 7, 1, 4] print(min(e))
E { } 1
print(max("Escola")) e = 'Escola del Clot' print('{' + max(e) + '}') e = [1, 7, 1, 4] print(max(e))
s {t} 7
list()
Crea una nova llista que conté tots els caràcters de la cadena passada com a argument.
print(list("Escola del Clot"))
['E', 's', 'c', 'o', 'l', 'a', ' ', 'd', 'e', 'l', ' ', 'C', 'l', 'o', 't']
Immutabilitat de les cadenes
Les cadenes (strings) són immutables. No es permet esborrar, afegir o inserir cap element. Pert ant no és permès:
text = "Escola del Clot" del text[0]
ni:
text = "Escola del Clot" text.append("Jesuïtes El Clot - ")
ni:
text = "Escola del Clot" text.insert(0,"Jesuïtes El Clot - ")
En canvi sí que es poden fer cadenes a partir d'una còpia de la cadena anterior:
escola = "Escola" print(escola) escola = escola + " del" print(escola) escola += " Clot" print(escola) escola = "Jesuïtes El Clot - " + escola print(escola)
Escola Escola del Escola del Clot Jesuïtes El Clot - Escola del Clot
Mètodes de cadenes que retornen cadenes o llistes
capitalize() – posa el primer caràcter en majúscules i la resta de caràcters en minúscula.
center() – centra la cadena dins del camp d'una longitud coneguda.
count() – compta el nombre de cops que hi apareix a una cadena un caràcter donat.
find() – Retorna l'índex de la primer subcadena passada com a argument. No genera error si la subcadena no existeix (el mètode index() sí el genera). Per tant és més segur de fer servir. Si no troba la cadena retorna un -1.
index() – cerca la seqüència des de l'inici i retorna la posició de la primera que troba. Si no existeix la seqüència es genera l'excepció ValueError. És més segur fer servir el mètode find()
join() – uneix tots els elements d'una tupla/llista en una sola cadena.
lower() – converteix totes les lletres de la cadena en lletres minúscules.
lstrip() – elimina els caràcters blancs del començament de la cadena.
replace() – substitueix una subcadena donada per una altra.
rfind() – troba una subcadena que comença des del final de la cadena;.
rstrip() – elimina els espais en blanc finals del final de la cadena.
split() – divideix la cadena en una subcadena emprant un delimitador donat.
strip() – elimina els espais en blanc inicials i finals.
swapcase() – Intercanvia les majúscules per minúscules i viceversa.
title() – fa la primera lletra en cada paraula en majúscules.
upper() – converteix totes les lletres de la cadena en majúscules.
Mètodes de cadenes que retornen valors booleans
endswith() – la cadena acaba amb una subcadena determinada?
isalnum() – la cadena només consisteix en lletres i números?
isalpha() – la cadena només consisteix en lletres?
islower() – la cadena només consisteix en lletres minúscules?
isspace() – la cadena només consisteix en espais en blanc?
isupper() – la cadena només consisteix en lletres majúscules?
startwith() – la cadena comença amb una subcadena determinada?
Exemples
capitalize()
capitalize() – posa el primer caràcter en majúscules i la resta de caràcters en minúscula.
print("Escola del Clot".capitalize()) print('escola del clot'.capitalize()) print(' Escola del Clot'.capitalize()) print('1714'.capitalize()) print("Σχολείο της Τρύπας".capitalize()) print("σχολείο τρύπας".capitalize())
Escola del clot Escola del clot escola del clot 1714 Σχολείο της τρύπας Σχολείο τρύπας
center()
center() – centra la cadena dins del camp d'una longitud coneguda.
print('{' + 'Escola del Clot'.center(10) + '}') print('{' + 'Escola del Clot'.center(20) + '}') print('{' + 'Escola del Clot'.center(30) + '}') print('{' + 'Escola del Clot'.center(40) + '}') print('{' + 'Escola del Clot'.center(40,'-') + '}')
{Escola del Clot} { Escola del Clot } { Escola del Clot } { Escola del Clot } {------------Escola del Clot-------------}
count()
print("Escola del Clot".count("o")) cadena = "Escola del Clot" print(cadena.count("d"))
2 1
endswith()
endswith() – la cadena acaba amb una subcadena determinada?
if "Escola del Clot".endswith("ot"): print("Sí") else: print("No") cadena = "Escola del Clot" if cadena.endswith("OT"): print("Sí") else: print("No")
Sí No
find()
find() – Retorna l'índex de la primer subcadena passada com a argument. No genera error si la subcadena no existeix (el mètode index() sí el genera). Per tant és més segur de fer servir. Si no troba la cadena retorna un -1.
escola = "Escola del Clot" print(escola.find("ola")) print(escola.find("a d")) print(escola.find("clot"))
3 5 -1
El segon argument del mètode find() especifica l'índex a partir del qual ha de cercar.
missio = """Jesuïtes El Clot – Escola del Clot té el compromís i la voluntat de promoure l'educació com un servei a la comunitat. Promou l'educació integral dels alumnes, fent un ensenyament de qualitat on l'excel·lència i l'equitat són referents permanents, un ensenyament personalitzat i integrador, una educació basada en els valors humans i cristians que inspiren el seu \"Caràcter Propi\". Un ensenyament arrelat al seu entorn i a les seves demandes, i que prepara els alumnes humanament i professionalment per a la seva inserció i promoció social. L'escola del Clot col·labora, d'aquesta manera, a la consecució de la Missió de Jesuïtes Educació.""" cerca = missio.find('ment') while cerca != -1: print(cerca) cerca = missio.find('ment',cerca + 1)
176 259 395 479 498
index()
index() – cerca la seqüència des de l'inici i retorna la posició de la primera que troba. Si no existeix la seqüència es genera l'excepció ValueError
print("Escola del Clot".index("s")) print("Escola del Clot".index("del")) print("Escola del Clot".index("Cl"))
1 7 11
len()
len() – compta el nombre de caràcters
paraula = 'Clot' print("len('%s'): %d"%(paraula,len(paraula))) buit = "" print('len("%s"): %d'%(buit,len(buit))) multilinea = """Escola del Clot""" print('len("%s"): %d'%(multilinea,len(multilinea))) multilinea2 = "Escola\ndel\nClot" print('len("%s"): %d'%(multilinea2,len(multilinea2)))
len("Clot"): 4 len(""): 0 len("Escola del Clot"): 15 len("Escola del Clot"): 15