Tuplas
Após vermos as listas no capítulo anterior, neste, veremos as tuplas, ou tuples, no inglês.
Introdução
As tuplas assemelham-se bastante às listas. São estruturas que armazenam dados de diferentes tipos, em forma sequencial.
A grande diferença é que ao contrário de uma lista, uma tupla é imutável. Você não pode redefinir elementos de uma tupla, alterar seus valores ou qualquer coisa do tipo.
Criando uma tupla e acessando seus itens
A forma para se criar uma tupla é bastante semelhante à de uma lista também. Só que ao invés de usarmos colchetes, usamos parênteses. E da mesma forma, separamos seus elementos com vírgulas:
tupla1 = ("Gato", "Cachorro", "Papagaio", "Tartaruga")
print(tupla1)
> ('Gato', 'Cachorro', 'Papagaio', 'Tartaruga')
Para acessar seus elementos, também fazemos da mesma forma que com as listas, ou seja, através de colchetes indicando a posição do elemento desejado:
print(tupla1[2])
> Papagaio
Além disso, também é possível pegar apenas uma parte da tupla, usando a notação com colchetes e os números de início e fim desejados divididos por :
, assim como já vimos com as listas. Esta funcionalidade, novamente, é denominada slicing
:
print(tupla1[1:3])
> ('Cachorro', 'Papagaio')
Também é permitido criar uma tupla vazia, definindo apenas os parênteses, sem qualquer elemento dentro:
tupla_vazia = ()
print(tupla_vazia)
> ()
Bem, como dissemos que uma tupla é imutável, vamos provar. Vamos tentar alterar o valor de um item de uma tupla, assim como fizemos no capítulo de listas:
tupla1[1] = "Elefante"
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'tuple' object does not support item assignment
Repare como o próprio Python reporta o erro. Uma tupla não suporta a designação do valor de um item.
Igualmente, não é possível remover itens de uma tupla. Duas coisas que você pode fazer são criar uma nova tupla sem o item desejado e apagar uma tupla completamente, através da função del()
:
del(tupla1)
print(tupla1)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> NameError: name 'tupla1' is not defined
Funcionalidades
Algumas das funções que vimos no capítulo anterior também funcionam com as tuplas, como len()
, max()
e min()
, por exemplo:
tupla2 = (8.3, 9.4, 3.3, 7.5, 7.6)
print(max(tupla2))
print(min(tupla2))
print(len(tupla2))
> 9.4
> 3.3
> 5
Também é possível transformar uma tupla em uma lista e vice-versa, através das funções list()
e tuple()
:
lista1 = list(tupla1)
print(lista1)
lista2 = ["José", "Afonso", "Carlos", "Luiz"]
tupla3 = tuple(lista2)
print(tupla3)
> ["Gato", "Cachorro", "Papagaio", "Tartaruga"]
> ('José', 'Afonso', 'Carlos', 'Luiz')
Conclusão
E assim, concluímos o capítulo sobre tuplas, que nada mais são do que listas imutáveis. Vimos que muito do que fazemos com as listas também funcionam com as tuplas e as formas de criá-las e acessar as informações contidas nelas. No próximo capítulo falaremos sobre dicionários, estruturas muito interessantes para armazenar dados de uma forma diferente das listas e tuplas.