Mètodes de cadenes a Python

De binefa.com
Salta a la navegació Salta a la cerca

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 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.