Diferència entre revisions de la pàgina «Mètodes de cadenes a Python»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 38 revisions intermèdies del mateix usuari que no es mostren)
Línia 21: Línia 21:
  
 
  Clot Clot Clot Clot
 
  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 =
 
= Mètodes de cadenes que retornen cadenes o llistes =
Línia 28: Línia 108:
  
 
'''count()''' – compta el nombre de cops que hi apareix a una cadena un caràcter donat.
 
'''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.
 
'''join()''' – uneix tots els elements d'una tupla/llista en una sola cadena.
Línia 37: Línia 121:
 
'''replace()''' –  substitueix una subcadena donada per una altra.
 
'''replace()''' –  substitueix una subcadena donada per una altra.
  
'''rfind()''' – troba una subcadena que comença des del final de la cadena;.
+
'''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.
 
'''rstrip()''' – elimina els espais en blanc finals del final de la cadena.
Línia 57: Línia 141:
  
 
'''isalpha()''' – la cadena només consisteix en lletres?
 
'''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?
 
'''islower()''' – la cadena només consisteix en lletres minúscules?
Línia 65: Línia 151:
  
 
'''startwith()''' – la cadena comença amb una subcadena determinada?
 
'''startwith()''' – la cadena comença amb una subcadena determinada?
 +
 
= Exemples =
 
= Exemples =
 
== capitalize() ==
 
== capitalize() ==
Línia 94: Línia 181:
 
  {            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() ==
 
'''endswith()''' – la cadena acaba amb una subcadena determinada?
 
'''endswith()''' – la cadena acaba amb una subcadena determinada?
Línia 108: Línia 203:
 
  Sí
 
  Sí
 
  No
 
  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() ==
 
'''len()''' – compta el nombre de caràcters
 
'''len()''' – compta el nombre de caràcters
Línia 129: Línia 292:
 
  del
 
  del
 
  Clot"): 15
 
  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']
 +
 +
== startwith() ==
 +
'''startwith()''' – la cadena comença amb una subcadena determinada?
 +
print("Escola del Clot".startswith("Cl"))
 +
print("Escola del Clot".startswith("Es"))
 +
 +
False
 +
True
 +
== strip() ==
 +
'''strip()''' – elimina els espais en blanc inicials i finals.
 +
print("{" + "  Escola del Clot  ".strip() + "}")
 +
 +
{Escola del Clot}
 +
 +
== swapcase() ==
 +
'''swapcase()''' – Intercanvia les majúscules per minúscules i viceversa.
 +
print("Escola del Clot".swapcase())
 +
 +
eSCOLA DEL cLOT
 +
 +
== title() ==
 +
'''title()''' – fa la primera lletra en cada paraula en majúscules.
 +
print("escola del clot".title())
 +
 +
Escola Del Clot
 +
 +
== upper() ==
 +
'''upper()''' – converteix totes les lletres de la cadena en majúscules.
 +
print("Escola del Clot".upper())
 +
 +
ESCOLA DEL CLOT

Revisió de 19:54, 25 ago 2024

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']

startwith()

startwith() – la cadena comença amb una subcadena determinada?

print("Escola del Clot".startswith("Cl"))
print("Escola del Clot".startswith("Es"))
False
True

strip()

strip() – elimina els espais en blanc inicials i finals.

print("{" + "   Escola del Clot   ".strip() + "}")
{Escola del Clot}

swapcase()

swapcase() – Intercanvia les majúscules per minúscules i viceversa.

print("Escola del Clot".swapcase())
eSCOLA DEL cLOT

title()

title() – fa la primera lletra en cada paraula en majúscules.

print("escola del clot".title())
Escola Del Clot

upper()

upper() – converteix totes les lletres de la cadena en majúscules.

print("Escola del Clot".upper())
ESCOLA DEL CLOT