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. Per tant 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?
isdigit() – la cadena només consisteix en números?
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
isalnum()
isalnum() – la cadena només consisteix en lletres i números?
print("València680".isalnum()) print("València_680".isalnum()) # el subratllat no és ni caràcter ni número print("València 680".isalnum()) # l'espai no és ni caràcter ni número print("Βαλένθια 680".isalnum()) # l'espai no és ni caràcter ni número print("Βαλένθια680".isalnum())
True False False False True
isalpha()
isalpha() – la cadena només consisteix en lletres?
print("València".isalpha()) print('València680'.isalpha())
True False
isdigit()
isdigit() – la cadena només consisteix en números?
print('680'.isdigit()) print("València680".isdigit())
True False
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
lstrip()
lstrip() – elimina els caràcters blancs del començament de la cadena. Quan hi ha un argument amb una cadena (string), treu els caràcters d'aquesta cadena que són a l'inici,
print(" Escola del Clot".lstrip()) print("https://www.binefa.com".lstrip("shpt:/w."))
Escola del Clot binefa.com
replace()
replace() – substitueix una subcadena donada per una altra.
print("L'Escola Tècnica Professional del Clot ara és l'ETPC".replace("l'ETPC", "Jesuïtes El Clot - Escola del Clot"))
L'Escola Tècnica Professional del Clot ara és Jesuïtes El Clot - Escola del Clot
join()
join() – uneix tots els elements d'una tupla/llista en una sola cadena.
print("*".join(["Escola", "del", "Clot"])) print("Una frase curta.".join(["{"])) print("Una frase curta.".join(["{","}"])) print("Una frase curta.".join(["{ "," | "," }"])) print("Una frase curta.".join(["{ "," < "," > "," }"])) print("-".join(list("Escola del Clot"))) print("-".join("Escola del Clot".split()))
Escola*del*Clot { {Una frase curta.} { Una frase curta. | Una frase curta. } { Una frase curta. < Una frase curta. > Una frase curta. } E-s-c-o-l-a- -d-e-l- -C-l-o-t Escola-del-Clot
lower()
lower() – converteix totes les lletres de la cadena en lletres minúscules.
print("Escola del Clot".lower())
escola del clot
rfind()
rfind() – troba una subcadena que comença des del final de la cadena.
print("clot clot clot".rfind("ot")) print("clot clot clot".rfind("ot",13)) print("clot clot clot".rfind("ot",4,13))
12 -1 7
rstrip()
rstrip() – elimina els espais en blanc finals del final de la cadena.
print(" Escola del Clot ".rstrip()+"*") print("https://www.binefa.com".rstrip("acfmo."))
Escola del Clot* https://www.bine
split()
split() – divideix la cadena en una subcadena emprant un delimitador donat.
print("Escola del\nClot".split())
['Escola', 'del', 'Clot']
strip()
strip() – elimina els espais en blanc inicials i finals.
swapcase()
swapcase() – Intercanvia les majúscules per minúscules i viceversa.
title()
title() – fa la primera lletra en cada paraula en majúscules.
upper()
upper() – converteix totes les lletres de la cadena en majúscules.