aula7 - strings
DESCRIPTION
slide pythonTRANSCRIPT
-
Aula 7 Strings e Tuplas
-
2
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
-
3
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
-
4
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
-
5
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
-
6
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
-
7
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
>>> s.find("parte",6,12)
-1
Computao I - aula 7 - 2014/1
-
8
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', '', '')
-
9
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 "", line 1, in
Q.join(('1','2','3','4','5'))
NameError: name 'Q' is not defined
-
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
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
-
12
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 ', '']
-
13
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
-
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
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
-
16
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
-
17
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
-
18
Exemplo
Resposta:
Computao I - aula 7 - 2014/1
-
19
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
-
20
String - Mtodos
Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo
que gere a sua cadeia complementar.
Lembre que AT e CG.
Exemplo:
Dado AATCTGCAC, a funo retorna TTAGACGTG.
Computao I - aula 7 - 2014/1
-
21
String - Mtodos
Exerccio Dado uma string representando uma cadeia de DNA, faa uma funo que gere a sua cadeia complementar. Lembre que AT e CG. Exemplo: Dado AATCTGCAC, a funo retorna TTAGACGTG.
Computao I - aula 7 - 2014/1
-
22
Tuplas
-
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) >>> 3*(10+3)
10 39
>>> 10, >>> 3*(10+3,)
(10,) (13, 13, 13)
>>> (10,)
(10,)
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
-
29
Aula 7 Strings e Tuplas