Como trabalhamos com tuplas em Python?
O que são tuplas?
Tuplas são estruturas de dados muito parecidas com as listas,
a principal diferença é que tuplas são imutáveis enquanto listas
são mutáveis. Podemos criar tuplas através da classe tuple, ou
colocando valores separados por vírgula de parenteses.
Como podemos criar um tuplas?
frutas = ("laranja", "pera", "uva",) # direta
letras = tuple("python") # objeto
Como funciona o acesso da tupla?
A tupla é uma sequência, portanto podemos acessar seus dados
utilizando índices. Contamos o índice de determinada sequência
do zero.
Ex:
frutas = ("maçã", "laranja", "uva", "pera", )
0 1 2 3
frutas[0]
>> maçã
frutas[2]
>> uva
Nossas tuplas suportam índices negativos?
Sim. As tuplas suportam sequências de indexação negativa. A contagem
começa em -1
Ex:
frutas = ("maçã", "laranja", "uva", "pera", )
-4 -3 -2 -1
frutas[-1]
>> pera
frutas[-3]
>> laranja
As tuplas podem ser aninhadas
Tuplas podem armazenar todos os tipos de objetos Python,
portanto podemos ter tuplas que armazenam outras tuplas.
Com isso podemos criar estruturas bidimensionais(tabelas), e
acessar informando os índices de linha e coluna.
Ex:
matriz = (
(1, "a", 2),
("b", 3, 4),
(6, 5, "c"),
)
matriz[0]
>> (1, "a", 2)
matriz[0][0]
>> 1
matriz[0][-1]
>> 2
matriz[-1][-1]
>> "c"
Podemos fazer fatiamento em nossas tuplas
Além de acessar elementos diretamente, podemos extrair um
conjunto de valores de uma sequência. Para isso basta passar o
índice inicial e/ou final para acessar o conjunto. Podemos ainda
informar quantas posições o cursor deve "pular" no acesso.
Ex:
tupla = ("p", "y", "t", "h", "o", "n")
tupla[2:]
>> ("p", "y")
tupla[1:3]
>> ("y", "t")
tupla[0:3:2]
>> ("p", "t")
tupla[::]
>> ("p", "y", "t", "h", "o", "n")
tupla[::-1]
>> ('n', 'o', 'h', 't', 'y', 'p')
Os principais métodos usados na tupla
().count
cores = ("vermelho", "azul", "verde", "azul",)
cores.count("vermelho")
>> 1
cores.count("azul")
>> 2
cores.count("verde")
>> 3
().index
linguagens = ("python", "js", "c", "java", "csharp",)
linguagens.index("java")
>> 3
linguagens.index("python")
>> 0
().len
linguagens = ("python", "js", "c", "java", "csharp",)
len(linguagens)
>> 5