Buscar

Slides_TuplasEStrings.pdf

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Aula 20 Aula 20 Aula 20 Aula 20 –––– Estrutura de DadosEstrutura de DadosEstrutura de DadosEstrutura de Dados
Tuplas e StringsTuplas e StringsTuplas e StringsTuplas e Strings
TuplasTuplasTuplasTuplas
- São estruturas de dados parecidas com listas, mas com a
particularidade de serem imutáveisimutáveisimutáveisimutáveis.
---- TuplasTuplasTuplasTuplas são sequências e podem ser indexadas, mas não é
possível modificá­las.
- Um valor do tipo tuplatuplatuplatupla é uma série de valores separados
por vírgulas e entre parênteses.
>>> x = (1,2,3) ou x = 1,2,3 >>> x [0]
>>> x 1
(1, 2, 3)
>>> x [2]=1
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
x[2]=1
TypeError: 'tuple' object does not support item assignment
TuplasTuplasTuplasTuplas
-Uma tuplatuplatuplatupla vazia se escreve ()
- Os parênteses são opcionais se não provocarem
ambiguidade
- Uma tuplatuplatuplatupla contendo apenas um elemento deve ser escrita
com uma vírgula ao final
- Um valor entre parênteses sem vírgula no final é
meramente uma expressão
>>> (10) >>> 3*(10+3)
10 39
>>> 10, >>> 3*(10+3,)
(10,) (13, 13, 13)
>>> (10,)
(10,)
4
TuplasTuplasTuplasTuplas
QuandoQuandoQuandoQuando usarusarusarusar tuplastuplastuplastuplas????
Algumas construções em Python requerem tuplas ou sequências
imutáveis, por exemplo:
- Tuplas podem ser usadas como chaves de dicionários;
- Funções com número variável de argumentos acessam os
argumentos por meio de tuplas;
- O operador de formatação aceita tuplas, mas não listas.
>>>>>>>>>>>> templatetemplatetemplatetemplate ==== """"%%%%ssss temtemtemtem %%%%dddd anos"anos"anos"anos"
>>>>>>>>>>>> tuplatuplatuplatupla ==== ('Pedro',('Pedro',('Pedro',('Pedro', 10101010))))
>>>>>>>>>>>> templatetemplatetemplatetemplate %%%% tuplatuplatuplatupla
'Pedro'Pedro'Pedro'Pedro temtemtemtem 10101010 anos'anos'anos'anos'
5
StringsStringsStringsStrings
6
Strings Strings Strings Strings ---- ÍndicesÍndicesÍndicesÍndices
Endereçam caracteres individuais de uma string.
Notação: string[indice]
Exemplo: var = “Pedro dos Santos”
var[2] : ‘d' var[9] : ' ' var[15] : ‘s'
var[-1] : ‘s'
Comando len(...): fornece o tamanho da stringComando len(...): fornece o tamanho da stringComando len(...): fornece o tamanho da stringComando len(...): fornece o tamanho da string
len(var) = 16len(var) = 16len(var) = 16len(var) = 16
Índice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
Var P e d r o d o s S a n t o s 
2
7
Strings Strings Strings Strings ---- SlicesSlicesSlicesSlices
Separa trechos de uma stringSepara trechos de uma stringSepara trechos de uma stringSepara trechos de uma string
Notação:Notação:Notação:Notação: string[índice1:índice2]
Retorna os caracteres desde o de índice1 até o de
(índice2 – 1)
Se índice1 é omitido, é assumido 0
Se índice2 é omitido, é assumido o fim da string
8
Strings Strings Strings Strings ---- SlicesSlicesSlicesSlices
ExemploExemploExemploExemplo
>>> x = 'abcde'
>>> x[0:2]
>>> x [2:]
>>> x[:]
>>> x[-1:]
>>> x[:-1]
9
Strings Strings Strings Strings ---- SlicesSlicesSlicesSlices
ExemploExemploExemploExemplo
>>> x = 'abcde'
>>> x[0:2]
'ab'
>>> x [2:]
'cde'
>>> x[:]
'abcde'
>>> x[-1:]
'e'
>>> x[:-1]
'abcd'
10
Strings Strings Strings Strings ---- SlicesSlicesSlicesSlices
ExercícioExercícioExercícioExercício
Faça uma função que leia uma string e verifique se
é um palíndromo, isto é, da esquerda para direita
ou da direita para a esquerda têm-se a mesma
sequência de caracteres.
Exemplos: ama, ovo, asa, erre, arara.
11
Strings Strings Strings Strings ---- SlicesSlicesSlicesSlices
ExercícioExercícioExercícioExercício
Faça uma função que leia uma string e verifique se é
um palíndromo, isto é, da esquerda para direita ou da
direita para a esquerda têm-se a mesma sequência de
caracteres.
def palindromo(palavra):
if palavra == palavra[-1::-1]:
return True
else:
return False
12
Módulo Módulo Módulo Módulo StringStringStringString ---- FunçõesFunçõesFunçõesFunções
chr(num): Retorna o caracter correspondente ao número passado.
ord(caracter): Retorna o código do caracter que foi passado.
Exemplo
>>> chr(97)
'a'
>>> ord('a')
97
3
13
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
lower(): retorna a string com todos os caracteres maiúsculos 
convertidos para minúsculos.
upper(): retorna a string com todos os caracteres minúsculos 
convertidos para maiúsculos.
Exemplo
>>> print "Esperança".upper()
ESPERANÇA
>>> print "Pé de Laranja Lima".lower()
pé de laranja lima
14
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
find(substring,inicio,fim): Retorna o índice da primeira ocorrência de substring.
- inicio e fim são opcionais e indicam os intervalos de índices onde a busca será
efetuada.
- Os defaults são, respectivamente, 0 e comprimento da string.
- Caso substring não apareça 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
15
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
partition(sep): divide uma string em 3 partes :
o que vem antes de sep, sep e o que vem após sep.
Caso sep não 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', '', '')
16
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
split(separador): retorna uma lista com as substrings presentes entre 
cópias da string separador. Faz o contrário do método join.
Se separador não for especificado, é assumido sequências 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 ', '']
17
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
join(sequencia): retorna uma string com todos os elementos da sequencia
concatenados.
Observação: Os elementos da sequência têm que ser strings.
Importante: A string objeto é usada como separador entre os elementos.
Exemplo
>>> "/".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
18
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
strip(ch): retorna a string sem caracteres iniciais ou finais que estejam 
na string ch. Se ch não for especificada, retira caracteres em branco.
Pode-se também usar rstrip() e lstrip() para retirar caracteres, 
respectivamente, à direita (final) ou à esquerda(início).
Exemplo
>>> " xxx afdsfa ".strip()
'xxx afdsfa'
>>> "xxx yyy zzz xxx".strip("xy ")
'zzz'
>>> " xxx".rstrip()
' xxx'
4
19
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
replace(velho,novo,n): substitui as n instâncias da string velho por novo.
Se n não for definido, todas as trocas são 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'
20
Módulo Módulo Módulo Módulo StringStringStringString ---- MétodosMétodosMétodosMétodos
translate(trans): retorna uma cópia da string onde os caracteres são 
substituídos de acordo com a tabela de tradução trans.
maketrans(velho,novo): retorna uma tabela de tradução onde os caracteres 
em velho são substituídos pelos caracteres em novo.
Exemplo
>>> from string import maketrans #necessário na versão 2.x
>>> trans = maketrans('qs', 'kz') 
# ou trans = “”.maketrans('qs', 'kz') na versão 3.2
>>> s = "que surpresa: quebrei a cara"
>>> s.translate(trans)
'kue zurpreza: kuebrei a cara'
21
Caracteres EspeciaisCaracteres EspeciaisCaracteres EspeciaisCaracteres Especiais
Caracteres “não imprimíveis” podem ser expressos usando notação
“barra-invertida” (\)
–\n é o mesmo que new line
–\t é o mesmo que tab
–\r é o mesmo que carriage return
–\b é o mesmo que backspace
–\\ é o mesmo que \
>>> print ("hello\nworld")
hello
world
>>> print ("hello\tworld")
hello world
>>> print ("hello\bworld")
helloworld
>>> print ("hello\rworld")
helloworld
>>> print ("hello\\world")
hello\world
TESTETESTETESTETESTE
22
StringsStringsStringsStrings
A notação barra-invertida (\) pode ser 
desabilitada desde que a constante string seja
precedida por um r (erre minúsculo)
–São chamadas strings raw (cruas)
–Ex.:
>>> print("abc\ncd\tef")
abc
cd ef
>>> print(r"abc\ncd\tef")
abc\ncd\tef
23
StringsStringsStringsStrings
Constantes string podem ser escritas com 
várias linhas desde que as aspas não sejam 
fechadas e que cada linha termine com uma 
barra invertida
•Ex.:
>>> print("abcd\n\
... efgh\n\
... ijk")
abcd
efgh
ijk
>>> print("abcd\
... efgh\
... ijk")
abcdefghijk
>>>

Continue navegando