Sunteți pe pagina 1din 29

Aula 7 Strings e Tuplas

Mtodos associados a String


Uma string possui vrios mtodos (funes) disponveis para executar diferentes tarefas. Para utilizar um mtodo, deve-se usar a sintaxe: identificador.mtodo(parmetros).

Para listar os mtodos (e outros atributos) disponveis, utilize o comando: dir(identificador).

Computao I - aula 7 - 2014/1

Mtodos associados a String


Para obter a descrio de um item, digite: identificador.item.__doc__ Para obter ajuda a respeito de um tipo, digite help(tipo). Por exemplo: help(str) para obter ajuda sobre strings, help(int) para ajuda sobre inteiros, etc..

Computao I - aula 7 - 2014/1

String - Mtodos
lower(): retorna a string com todos os caracteres maisculos convertidos para minsculos. upper(): retorna a string com todos os caracteres minsculos convertidos para maisculos. Exemplo >>> "Esperana".upper() ESPERANA >>> "P de Laranja Lima".lower() p de laranja lima
Computao I - aula 7 - 2014/1 4

String - Mtodos
count(elemento, inicio, fim): retorna quantas vezes o elemento aparece na string, procurando-se a partir da posio inicio e indo at a posio fim - 1. inicio e fim so opcionais. Exemplo

Computao I - aula 7 - 2014/1

String - Mtodos
index(elemento, inicio, fim): retorna o ndice da primeira ocorrncia de elemento na string, a partir da posio inicio, at a posio fim - 1. Inicio e fim so opcionais. Exemplo

Computao I - aula 7 - 2014/1

String - Mtodos
find(substring,inicio,fim): Retorna o ndice da primeira ocorrncia de substring. - inicio e fim so opcionais e indicam os intervalos de ndices onde a busca ser efetuada. Os defaults so, respectivamente, 0 e comprimento da string. - Caso substring no aparea na string, retornado -1. - Note que o operador in pode ser usado para dizer se uma substring aparece numa string.

Exemplo >>> s = "quem parte e reparte, fica com a maior parte" >>> s.find("parte") 5 >>> s.find("reparte") 13 >>> s.find("parcela") -1 >>> "parte" in s True >>> s.find("parte",6) 15 Computao I - aula 7 - 2014/1 >>> s.find("parte",6,12) -1

String - Mtodos
partition(sep): divide uma string em 3 partes : o que vem antes de sep, sep e o que vem aps sep. Caso sep no seja encontrado, a string retornada seguida por duas strings vazias. Exemplo >>> s = "quem parte e reparte, fica com a maior parte"

>>> s.partition("t")
('quem par', 't', 'e e reparte, fica com a maior parte') >>>s.partition("z") ('quem parte e reparte, fica com a maior parte', '', '')
8

String - Mtodos
join(sequencia): retorna uma string com todos os elementos da sequencia concatenados. Observao: Os elementos da sequncia tm que ser strings.

Importante: A string objeto usada como separador entre os elementos.


Exemplo >>> "/".join(("usr","bin","python")) ou "/".join(["usr","bin","python]) 'usr/bin/python' >>> "Q".join((1,2,3,4,5)) TypeError: sequence item 0: expected string, int found >>> "Q".join(('1','2','3','4','5')) '1Q2Q3Q4Q5' >>> Q.join(('1','2','3','4','5')) Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> Q.join(('1','2','3','4','5')) NameError: name 'Q' is not defined

String - Mtodos
Exerccio: Escreva uma funo que receba duas strings a e b, e retorne a concatenao delas no formato abba.

Computao I - aula 7 - 2014/1

10

String - Mtodos
Exerccio: Escreva uma funo que receba duas strings a e b, e retorne a concatenao delas no formato abba.

Computao I - aula 7 - 2014/1

11

String - Mtodos
split(separador): retorna uma lista com as substrings presentes entre cpias da string separador. Se separador no for especificado, assumido sequncias de caracteres em branco, tabs ou newlines. Exemplo >>> s = "xxx yyy zzz xxx yyy zzz" >>> s.split() ['xxx', 'yyy', 'zzz', 'xxx', 'yyy', 'zzz']

>>> s.split('zzz') ['xxx yyy ', ' xxx yyy ', '']
12

String - Mtodos
strip(ch): retorna a string sem caracteres iniciais ou finais que estejam na string ch. Se ch no for especificada, retira caracteres em branco. Pode-se tambm usar rstrip() e lstrip() para retirar caracteres, respectivamente, direita (final) ou esquerda(incio). Exemplo >>> " xxx afdsfa ".strip() 'xxx afdsfa' >>> "xxx yyy zzz xxx".strip("xy ") 'zzz' >>> " xxx".rstrip() ' xxx'

Computao I - aula 7 - 2014/1

13

Exerccio
A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g']

Computao I - aula 7 - 2014/1

14

Exerccio
A partir da string "!! ! a;b;c;d;e;f;gh!###########" gere o resultado: ['a','b','c','d','e','f','g']

Computao I - aula 7 - 2014/1

15

String - Mtodos
replace(velho,novo,n): substitui as n instncias da string velho por novo. Se n no for definido, todas as trocas so feitas. Exemplo >>> s = "quem parte e reparte, fica com a maior parte" >>> s.replace("parte","parcela") 'quem parcela e reparcela, fica com a maior parcela' >>> s.replace("parte","parcela",2) 'quem parcela e reparcela, fica com a maior parte'

Computao I - aula 7 - 2014/1

16

Exemplo
Escreva uma funo que dada uma frase, uma palavra existente na frase, e uma nova palavra, substitua a LTIMA ocorrncia da palavra antiga pela palavra nova. Exemplo: Frase: quem parte e reparte fica com a maior parte Palavra existente na frase: parte Palavra nova: parcela Resposta: quem parte e reparte fica com a maior parcela

Computao I - aula 7 - 2014/1

17

Exemplo
Resposta:

Computao I - aula 7 - 2014/1

18

String - Mtodos
translate(trans): retorna uma cpia da string onde os caracteres so substitudos de acordo com a tabela de traduo trans. maketrans(velho,novo): retorna uma tabela de traduo onde os caracteres em velho so substitudos pelos caracteres em novo. Exemplo

>>> from string import maketrans #necessrio na verso 2.x


>>> trans = maketrans('qs', 'kz') # ou trans = .maketrans('qs', 'kz') na verso 3.2 >>> s = "que surpresa: quebrei a cara" >>> s.translate(trans) 'kue zurpreza: kuebrei a cara'
Computao I - aula 7 - 2014/1 19

String - Mtodos
Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo que gere a sua cadeia complementar. Lembre que A<->T e C<->G.

Exemplo: Dado AATCTGCAC, a funo retorna TTAGACGTG.

Computao I - aula 7 - 2014/1

20

String - Mtodos
Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo que gere a sua cadeia complementar. Lembre que A<->T e C<->G. Exemplo: Dado AATCTGCAC, a funo retorna TTAGACGTG.

Computao I - aula 7 - 2014/1

21

Tuplas

22

Tuplas

Uma tupla uma sequncia heterognea (permite que seus elementos sejam de tipos diferentes).

Tupla unitria: contm um nico elemento, que deve ser sucedido por uma vrgula. Os parnteses so opcionais se no provocarem ambiguidade.

Computao I - aula 7 - 2014/1

Tuplas
- Um valor entre parnteses sem vrgula no final meramente uma expresso >>> (10) 10 >>> 10, (10,) >>> (10,) (10,) >>> 3*(10+3) 39 >>> 3*(10+3,) (13, 13, 13)

Computao I - aula 7 - 2014/1

Tuplas

Tuplas so muito similares s strings em relao s operaes:


O tamanho de uma tupla dado pelo comando len.

Indexao: comeando do 0 esquerda, ou de -1 direita.


Fatiamento: idntico s strings.

Imutabilidade.
Concatenao e replicao.

Computao I - aula 7 - 2014/1

Tuplas
Exemplo:
Joozinho quer comprar o maior nmero de bombons possvel com o dinheiro que tem. Faa funes para: a. calcular o nmero de bombons e o troco, dados o dinheiro e o preo de um bombom. b. calcular quanto Joozinho ter que pedir para sua me para comprar um bombom a mais, dados o dinheiro que ele tem e o preo de um bombom. Utilize a funo definida em a.

Computao I - aula 7 - 2014/1

Tuplas
Exemplo:

Computao I - aula 7 - 2014/1

Tuplas - Mtodos

tupla.count(elemento): retorna o nmero de ocorrncias de elemento na tupla.

tupla.index(elemento, inicio, fim): retorna o ndice da primeira ocorrncia de elemento na tupla, a partir da posio inicio, at a posio fim - 1. Inicio e fim so opcionais.

Computao I - aula 7 - 2014/1

Aula 7 Strings e Tuplas

29

S-ar putea să vă placă și