Python Tutorial - Tuple-Tipo de Dados

  1. Vantagens do Tuple Over List
  2. Criar um Tuple
  3. Elementos do Tuple de Acesso
  4. Métodos Python Tuple
  5. Tuple Built-in Functions:
  6. Cheque de filiação do tuple
  7. Iterate Through a Tuple (Iterar através de um Tuple)

Nesta seção, vamos apresentar como criar e usar tuplos.

Um tuple é semelhante a uma lista com a diferença de que o tuple é imutável, mas a lista é mutável.

Vantagens do Tuple Over List

  1. Os tuplos são usados principalmente quando os elementos têm diferentes tipos de dados, enquanto que as listas são usadas quando os elementos são do mesmo tipo de dados.
  2. A passagem pelos tuplos é mais rápida porque não se pode actualizar um tuple.
  3. Você pode usar os elementos imutáveis do tuple como uma chave no dicionário. Isto não pode ser feito com uma lista.
  4. Os tuple garantem a protecção dos dados, uma vez que são imutáveis.

Criar um Tuple

Você pode definir um tuple Python utilizando parênteses () e separar elementos com vírgulas ,. Um tuple pode ter elementos de qualquer tipo de dado.

>>> x = (3, 'pink', 3+8j)
>>> print('x[0] =', x[0])
x[0] = 3
>>> print('x[0:2] =', x[0:2])
x[0:2] = (3, 'pink')
>>> x[0] = 4
TypeError: 'tuple' object does not support item assignment

Se o tuple contém apenas um elemento, por exemplo, o elemento é do tipo string data, então o tuple não será considerado como um tuple, mas sim como uma string. Veja o exemplo abaixo:

>>> x = ("Python")
>>> print(type(x))
<class 'str'>

Você pode ver aqui que o tipo de dado x é str em vez de tuple. Para torná-lo um tuple, será utilizada uma vírgula de trailing como:

>>> x = "Python",
>>> print(type(x))
<class 'tuple'>

Elementos do Tuple de Acesso

Os elementos do tuple podem ser acessados através de qualquer uma das seguintes formas:

Índice

Um operador de índice [] pode ser utilizado para acessar elementos de um tuple. O índice do tuple começa a partir de 0. Se o índice não estiver no intervalo (item não definido nesse índice no tuple), você terá um IndexError. Deve-se notar aqui que o índice deve ser um número inteiro, caso contrário ocorrerá um TypeError.

>>> x = (3, 'pink', 3+8j)
>>> print(x[0])
3
>>> print(x[2])
(3+8j)

Índice Negativo

Da mesma forma que a lista Python, você poderia usar índices negativos para acessar os elementos tuple.

>>> l = (2, 4, 6, 8, 10)
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6

Fatia

Um operador de fatiagem : é utilizado para extrair uma gama de elementos de um tuple.

>>> l = (2, 4, 6, 8, 10)
>>> print(l[1:3])		#prints from location 1 to 3
(4, 6)
>>> print(l[:2])		#prints from the beginning to location 2
(2, 4)
>>> print(l[2:])		#prints elements from location 2 onwards
(6, 8, 10)
>>> print(l[:])		#prints entire list
(2, 4, 6, 8, 10)

Concatenar Tuple

Dois tuplos podem ser concatenados utilizando operador +.

>>> l = (2, 4, 6, 8, 10)
>>> print(l + (12, 14, 16)
(2, 4, 6, 8, 10, 12, 14, 16)

Apagar um Tuple

Os elementos de um tuple não podem ser apagados porque os tuple são imutáveis. Mas você pode apagar o tuple inteiro utilizando a palavra-chave del:

l = (2, 4, 6, 8, 10)
del l

Métodos Python Tuple

Os tuplos têm apenas dois métodos, já que os tuplos são imutáveis:

Métodos Descrição
count(a) é utilizado para devolver um número de elementos igual a a.
index(a) é utilizado para retornar o índice do primeiro elemento igual a a

Tuple Built-in Functions:

Abaixo estão as funções integradas tuple aplicáveis ao “tuple” para realizar diferentes tarefas:

Funções Descrição
all() retornar True quando todos os elementos do tuple são True. Também retorna True quando o tuple está vazio.
any() retornar True quando qualquer um dos elementos do tuple é True. Ele retorna False quando o tuple está vazio.
enumerate() retornar o índice e o valor de todos os elementos do tuple como um tuple. Ele retorna um objeto enumerar.
len() devolver o número de itens em um tuple ou o comprimento do tuple.
tuple() converter uma sequência (tuple, set, string, dicionário) em tuple.
max() devolver o número máximo no tuple.
min() devolver o número mínimo no tuple.
sorted() devolver um tuple separado.
sum() devolver a soma de todos os elementos do tuple.

Cheque de filiação do tuple

O em verifica se um item é ou não um membro do tuple. Veja o código exaple abaixo:

>>> l = (2, 4, 6, 8, 10)
>>> print(5 in l)
False
>>> print(2 in l
True

Iterate Through a Tuple (Iterar através de um Tuple)

Você pode iterar através de um tuple utilizando for loop:

l = (2, 4, 6, 8, 10)
for i in l:
    print(i)
2
4
6
8
10