Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Manual de manipulación de cadenas de caracteres en Python: strings, Apuntes de Informática

En este documento se presenta una introducción a la manipulación de cadenas de caracteres, llamadas strings, en el lenguaje de programación Python. Se explican conceptos básicos como indexación positiva y negativa, creación de strings a partir de otros strings, operaciones aritméticas y de comparación, métodos útiles y más.

Tipo: Apuntes

2019/2020

Subido el 16/05/2020

fermin-ruana
fermin-ruana 🇪🇸

1 documento

1 / 15

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
DEFINICIÓ
Els strings són cadenes de caràcters:
>>> str=’hola que tal’
>>> type(str)
<class ‘str’>
>>> strnul= ‘ ’ string amb caràcter nul
>>> strespai= ‘ ‘ string amb caràcter “espai”
Caràcters que representen accions. N’hi han bastants però aquests dos són els més útils:
- Salt de línia ‘\n’:
>>> pichichilliga=’Luis Suarez: 5 gols\nAntoine Griezmann: 4
gols\nLionel Messi: 3 gols\nAlvaro Morata: 2 gols’
>>> print(pichichilliga)
Luis Suarez: 5 gols
Antoine Griezmann: 4 gols
Lionel Messi: 3 gols
Alvaro Morata: 2 gols
- Tabulador ‘\t’:
>>> h=’ara\tacabo de tabular’
>>> print(h)
ara acabo de tabular
STRINGS
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Manual de manipulación de cadenas de caracteres en Python: strings y más Apuntes en PDF de Informática solo en Docsity!

DEFINICIÓ

Els strings són cadenes de caràcters:

str=’hola que tal’ type(str) <class ‘str’> strnul= ‘ ’ string amb caràcter nul strespai= ‘ ‘ string amb caràcter “espai” Caràcters que representen accions. N’hi han bastants però aquests dos són els més útils:

  • Salt de línia ‘\n’:

pichichilliga=’Luis Suarez: 5 gols\nAntoine Griezmann: 4 gols\nLionel Messi: 3 gols\nAlvaro Morata: 2 gols’ print(pichichilliga) Luis Suarez: 5 gols Antoine Griezmann: 4 gols Lionel Messi: 3 gols Alvaro Morata: 2 gols

  • Tabulador ‘\t’:

h=’ara\tacabo de tabular’ print(h) ara acabo de tabular

STRINGS

0 1 2 3 4 5 6 7 8 9 1011 -12 -11-10 -9 -8 -7 -6 -5 -4 -3 -2 -

CONSULTA DELS CARÀCTERS D’UN STRING

Indexació positiva d’un string:

x=’hola que tal’ x[0] ‘h’ x[10] ‘a’ x[2:10] ‘la que t’ x[1:2] ‘o’ x[:3] ‘hol’ x[3:] ‘a que tal’ Indexació negativa d’un string: x=’hola que tal’ x[-1] ‘l’ x[-12] ‘h’ x[-6:-2] ‘ue t’ x[-10:] ‘la que tal’ x[:-6] ‘hola q’ Consulta el caràcter 0 de l’string x.Consulta el carácter 0 de l’string x.Consulta el carácter 0 de l’string x. Consulta el caràcter 10 de l’string x. Consulta del caràcter 2 al carácter 9 de l’string x (el 10 no s’inclou). Consulta del caràcter 1 al carácter 1 de l’string x (el 2 no s’inclou). Consulta des del començament fins al caràcter 2 de l’string x (el 3 no s’inclou).

type(str) <class ‘str’> >>> strnul= ‘ ’ string amb caràcter nul >>> strespai= ‘ ‘ string amb caràcter “espai” Caràcters que representen accions. N’hi han bastants però aquests dos són els més útils: - Salt de línia ‘\n’: >>> pichichilliga=’Luis Suarez: 5 gols\nAntoine Griezmann: 4 gols\nLionel Messi: 3 gols\nAlvaro Morata: 2 gols’ >>> print(pichichilliga) Luis Suarez: 5 gols Antoine Griezmann: 4 gols Lionel Messi: 3 gols Alvaro Morata: 2 gols - Tabulador ‘\t’: >>> h=’ara\tacabo de tabular’ >>> print(h) ara acabo de tabular ## STRINGS 0 1 2 3 4 5 6 7 8 9 1011 -12 -11-10 -9 -8 -7 -6 -5 -4 -3 -2 - ## CONSULTA DELS CARÀCTERS D’UN STRING Indexació positiva d’un string: >>> x=’hola que tal’ >>> x[0] ‘h’ >>> x[10] ‘a’ >>> x[2:10] ‘la que t’ >>> x[1:2] ‘o’ >>> x[:3] ‘hol’ >>> x[3:] ‘a que tal’ Indexació negativa d’un string: >>> x=’hola que tal’ >>> x[-1] ‘l’ >>> x[-12] ‘h’ >>> x[-6:-2] ‘ue t’ >>> x[-10:] ‘la que tal’ >>> x[:-6] ‘hola q’ Consulta el caràcter 0 de l’string x.Consulta el carácter 0 de l’string x.Consulta el carácter 0 de l’string x. Consulta el caràcter 10 de l’string x. Consulta del caràcter 2 al carácter 9 de l’string x (el 10 no s’inclou). Consulta del caràcter 1 al carácter 1 de l’string x (el 2 no s’inclou). Consulta des del començament fins al caràcter 2 de l’string x (el 3 no s’inclou). Consulta del caràcter 3 fins al final de l’string x. Consulta el 1er caràcter començant pel darrere de l’string x. Consulta el 12è caràcter començant pel darrere de l’string x. Consulta del 6è caràcter començant pel darrere fins al 2n caràcter començant pel darrere de l’string x. Consulta del 10è caràcter començant pel darrere fins al final de l’string x Consulta des del començament fins al 6è carácter començant pel darrere de l’string x.

‘hola’!=’hola’ False h=’ara\tacabo de tabular’ >>> print(h) ara acabo de tabular ## STRINGS 0 1 2 3 4 5 6 7 8 9 1011 -12 -11-10 -9 -8 -7 -6 -5 -4 -3 -2 - ## CONSULTA DELS CARÀCTERS D’UN STRING Indexació positiva d’un string: >>> x=’hola que tal’ >>> x[0] ‘h’ >>> x[10] ‘a’ >>> x[2:10] ‘la que t’ >>> x[1:2] ‘o’ >>> x[:3] ‘hol’ >>> x[3:] ‘a que tal’ Indexació negativa d’un string: >>> x=’hola que tal’ >>> x[-1] ‘l’ >>> x[-12] ‘h’ >>> x[-6:-2] ‘ue t’ >>> x[-10:] ‘la que tal’ >>> x[:-6] ‘hola q’ Consulta el caràcter 0 de l’string x.Consulta el carácter 0 de l’string x.Consulta el carácter 0 de l’string x. Consulta el caràcter 10 de l’string x. Consulta del caràcter 2 al carácter 9 de l’string x (el 10 no s’inclou). Consulta del caràcter 1 al carácter 1 de l’string x (el 2 no s’inclou). Consulta des del començament fins al caràcter 2 de l’string x (el 3 no s’inclou). Consulta del caràcter 3 fins al final de l’string x. Consulta el 1er caràcter començant pel darrere de l’string x. Consulta el 12è caràcter començant pel darrere de l’string x. Consulta del 6è caràcter començant pel darrere fins al 2n caràcter començant pel darrere de l’string x. Consulta del 10è caràcter començant pel darrere fins al final de l’string x Consulta des del començament fins al 6è carácter començant pel darrere de l’string x. >>> ‘hola’!=’hola’ False OPERADORS ÚTILS PER STRINGS

  • len() : Retorna un enter que correspón a la llargària de l’string.

    x=’hola que tal’ len(x) 12

  • in/not in : Determinen si un string és un subconjunt d’un altre. Retorna un booleà.

    x=’hola que tal’ ‘h’ in x True ‘que t’ in x True ‘hola bones’ in x False ‘hola bones’ not in x True MÈTODES ÚTILS PER STRINGS Mètodes de format:

  • capitalize(): Retorna una còpia de la cadena amb la primera lletra en majúscules

x=’hola que tal’ x.capitalize() ‘Hola’ str.capitalize(x) ‘Hola’

  • lower(): Retorna una còpia de la cadena en minúscules

x=’HOLA QUE TAL!’ x.lower() ‘hola que tal!’ str.lower(x) ‘hola que tal!’

  • upper(): Fan el mateix. Són dues maneres diferents de fer servir els mètodes per strings

Retorna una còpia de la cadena en majúscules

x=’Hola que tal!’ x.upper() ‘HOLA QUE TAL!’ str.upper(x) ‘HOLA QUE TAL!’

  • swapcase(): Retorna una còpia de la cadena convertides les majúscules en minúscules i viceversa

    x=’HolA QuE TAL’ x.swapcase() ‘hOLa qUe tal’ str.swapcase(x) ‘hOLa qUe tal’

  • title(): Retorna una còpia de la cadena convertides totes les primeres lletres de cada paraula en majúscules

    x=’hola que tal’ x.title() ‘Hola Que Tal’ str.title(x) ‘Hola Que Tal’ y=’holaquetal’ y.title() ‘Holaquetal’

  • center(longitud[,”caràcter amb el que plenar els espais”]): Retorna una còpia de la cadena centrada

    x=’hola que tal’ x.center(20) ‘ hola que tal ‘ str.center(x,20) ‘ hola que tal ‘ x.center(60) ‘ hola que tal ‘ str.center(x,60) ‘ hola que tal ‘ x.center(20,’=’) ‘=====hola que tal=====’ str.center(x,20,’=’) ‘=====hola que tal=====’ En comptes de deixar els espais en blanc, plena els espais amb el caràcter ‘=’

Mètodes de cerca:

  • count(“subcadena”[,posició_inici,posició_final]) Retorna un enter que representa la quantitat d’aparicions d’una subcadena dins de l’string

    x=’hola que tal’ x.count(‘a’) 2 str.count(x,’a’) x.upper() ‘HOLA QUE TAL!’ >>> str.upper(x) ‘HOLA QUE TAL!’ - swapcase(): Retorna una còpia de la cadena convertides les majúscules en minúscules i viceversa >>> x=’HolA QuE TAL’ >>> x.swapcase() ‘hOLa qUe tal’ >>> str.swapcase(x) ‘hOLa qUe tal’ - title(): Retorna una còpia de la cadena convertides totes les primeres lletres de cada paraula en majúscules >>> x=’hola que tal’ >>> x.title() ‘Hola Que Tal’ >>> str.title(x) ‘Hola Que Tal’ >>> y=’holaquetal’ >>> y.title() ‘Holaquetal’ - center(longitud[,”caràcter amb el que plenar els espais”]): Retorna una còpia de la cadena centrada >>> x=’hola que tal’ >>> x.center(20) ‘ hola que tal ‘ >>> str.center(x,20) ‘ hola que tal ‘ >>> x.center(60) ‘ hola que tal ‘ >>> str.center(x,60) ‘ hola que tal ‘ >>> x.center(20,’=’) ‘=====hola que tal=====’ >>> str.center(x,20,’=’) ‘=====hola que tal=====’ En comptes de deixar els espais en blanc, plena els espais amb el caràcter ‘=’ Mètodes de cerca: - count(“subcadena”[,posició_inici,posició_final]) Retorna un enter que representa la quantitat d’aparicions d’una subcadena dins de l’string >>> x=’hola que tal’ >>> x.count(‘a’) 2 >>> str.count(x,’a’) 2 y=’tres tristes tigres comen trigo en un trigal’ y.count(‘tr’) 4 str.count(y,’tr’) 4 y.count(‘tr’,0,4) 1 str.count(y,’tr’,0,4) 1

  • find(“subcadena”[,posició_inici,posició_final]) Retorna un enter que representa la posició on s’inicia la subcadena dins de l’string. Retorna -1 si no troba la subcadena.

    x=’hola que tal’ x.find(‘que’) 5 str.find(x,’que’) 5 x.find(‘que’,0,4) - >>> str.find(x,‘que’,0,4) - Mètodes de validació:

  • startswith(“subcadena”[,posició_inici,posició_final]) Retorna un booleà (True o False) que representa si la cadena comença o no per la subcadena donada.

x=’hola que tal’ x.startswith(‘hol’) True str.startswith(x,’hol’) True x.startswith(‘hol’,3,7) False str.startswith(x,’hol,3,7) Fer el mateix però contant només des del caràcter 0 fins al 4 Fer el mateix però contant només des del caràcter 0 fins al 4. Com que no troba cap ‘que’ del caràcter 0 fins al 4 de l’string retorna - Fer el mateix però contant només des del caràcter 3 fins al 7. Com que l’string que correspon als caràcters 3 al 7 (‘a que’) no comença per ‘hol’, retorna False

False

  • endswith(“subcadena”[,posició_inici,posició_final]) Retorna un booleà (True o False) que representa si la cadena acaba o no per la subcadena donada.

    x=’hola que tal’ x.endswith(‘al’) True str.endswith(x,’al’) True x.endswith(‘al’,3,7) False str.endswith(x,’al’,3,7) False

  • isalnum() Retorna un booleà (True o False) que representa si la cadena és o no és alfanumèrica (només conté números i lletres)

    x=’Schalke04’ x.isalnum() True str.isalnum(x) True y=’Schalke 04’ y.isalnum() False str.isalnum(y) False

  • isalpha() Retorna un booleà (True o False) que representa si la cadena és o no és alfabètica (només conté lletres)

    x=’holaquetal’ x.isalpha() True str.isalpha(x) True y=’hola que tal’ y.isalpha() False str.isalpha(y) False z=’Schalke04’ Fer el mateix però contant només des del caràcter 3 fins al 7. Com que l’string que correspon als caràcters 3 al 7 (‘a que’) no acaba per ‘al’, retorna False. Retorna False perquè l’string ‘Schalke 04’ conté un caràcter espai (‘ ‘) que no és ni un número ni una lletra. Retorna False perquè l’string ‘hola que tal’ conté dos caràcters espai (‘ ‘) que no són lletres. Retorna False perquè l’string ‘Schalke04’ conté dos caràcters que són números i no pas lletres.

str.isupper(y) False

  • isspace() Retorna un booleà (True o False) que representa si la cadena conté només espais

    x=’ ’ x.isspace() True str.isspace(x) True y=’ h ’ y.isspace() False str.isspace(y) False

  • istitle() Retorna un booleà (True o False) que representa si la cadena conté només paraules que comencen amb majúscula

    x=’Hola Que Tal’ x.istitle() True str.istitle(x) True y=’Hola que tal’ y.istitle() False str.istitle(y) False Mètodes de substitució:

  • format(args,kwargs)* Retorna la cadena formatejada

x=’Benvingut, {0}’ x.format(‘Joan’) ‘Benvingut, Joan’ str.format(x,’Joan’) ‘Benvingut, Joan’ y=’Import brut: ${0} + IVA: ${1} = Import net: {2}’ y.format(100,21,121) ‘Import brut: $100 + IVA: $21 = Import net: 121’ str.format(y,100,21,121)

‘Import brut: $100 + IVA: $21 = Import net: 121’

z=’Import brut: ${brut} + IVA: ${iva} = Import net: {net}’ z.format(brut=100,iva=21,net=121) ‘Import brut: $100 + IVA: $21 = Import net: 121’ str.format(z,brut=100,iva=21,net=121) ‘Import brut: $100 + IVA: $21 = Import net: 121’

  • replace(“subcadena a buscar”,”subcadena per la qual reemplaçar”) Retorna la cadena reemplaçada

    x=’nom cognom’ y=’Joan Oriol’ z=’Estimat Sr. nom cognom:’ z.replace(x,y) ‘Estimat Sr. Joan Oriol:’ str.replace(z,x,y) ‘Estimat Sr. Joan Oriol:’

  • strip([“caràcter”]) Retorna la cadena eliminant caràcters d’esquerra i dreta de l’string.

    x=’ hola que tal ‘ x.strip() ‘hola que tal’ str.strip(x) ‘hola que tal’ x.strip(‘=’) y=’====hola que tal==========================’ y.strip(‘=’) ‘hola que tal’ str.strip(y,’=’) ‘hola que tal’

  • lstrip([“caràcter”]) Retorna la cadena eliminant caràcters d’esquerra de l’string.

    x=’ hola que tal ‘ x.lstrip() ‘hola que tal ’ str.lstrip(x) ‘hola que tal ’

    y=’====hola que tal==========================’ y.lstrip(‘=’) ‘hola que tal========================’ str.lstrip(y,’=’)

[‘python’,’guia’,’curs’,’tutorial’]

  • splitlines() Retorna una llista on cada element és una fracció de la cadena dividida en línies.

    text= “”” Linia 1 Linia 2 Linia 3

    Linia 4 “””

    text.splitlines() [‘Linia 1’, ‘Linia 2’, ‘Linia 3’, ‘Linia 4’] str.splitlines(text) [‘Linia 1’, ‘Linia 2’, ‘Linia 3’, ‘Linia 4’] ESTRUCTURA REPETITIVA FOR Esquema de l’estructura repetitiva for: for nomvar in range([inici,],final[,increment]): accions La variable de control nomvar comença valent inici. Si inici val 0, es pot ometre l’expressió d’aquest valor inicial. Després s’executen les accions i, a continuació, nomvar pren el valor de inici + increment. Si increment val 1 es pot ometre. Després es tornen a executar les accions i així successivament. Les repeticions s’aturen quan el valor nomvar iguala o ultrapassa el valor final. Exemples: for i in range(5): print(i) 0 1 2 3 4 for i in range(3,9,2): print(i) 3 En aquest cas, nomvar val i, inici val 0, increment val 1, i final val 5. Per tant imprimirà el valor inicial 0 i li anirà sumant l’increment 1 fins que arribi al valor final 5, valor que no imprimirà En aquest cas, nomvar val i, inici val 3, increment val 2, i final val 9. Per tant imprimirà el valor inicial 3 i li anirà sumant l’increment 2 fins que arribi al valor final 9, valor que no imprimirà

Recorregut sobre un string:

x=’hola’ for i in range(len(x)): print(x[i]) h o l a Recorregut sobre un string només amb el for i el in: Una manera molt simple de fer un recorregut per un string és el següent: x=’hola’ for c in x: print(c) h o l a ESTRUCTURA REPETITIVA WHILE Esquema de l’estructura repetitiva while: while expressió_booleana: accions S’executen repetidament unes accions sempre que una determinada expressió_booleana és vertadera. En aquest cas, nomvar val i, inici val 0, increment val 1, i final val len(x). Li demanem que imprimeixi els caràcters i de l’string x (és a dir, x[i]). El valor inicial és 0, per tant el primer valor que imprimirà és x[0], és a dir el primer carácter de l’string x, en aquest cas ‘h’. L’increment és 1, per tant el següent valor que imprimirà és x[1] (‘o’), i així successivament fins arribar al valor final len(x) que correspón a la llargària de l’string x, que és 4. Per tant l’últim valor que imprimirà és x[3] (‘a’), ja que el recorregut s’atura quan arriba al valor final. c fa un recorregut per l’string x. Primer és ‘h’, seguidament és ‘o’, després és ‘l’ i finalment és ‘a’.