Python - Tuplas

Uma tupla é uma coleção de objetos ordenados e imutáveis. Tuplas são sequências, assim como listas. As diferenças entre tuplas e listas são: as tuplas não podem ser alteradas, ao contrário das listas e as tuplas usam parênteses, enquanto as listas usam colchetes.

Criar uma tupla é tão simples quanto colocar diferentes valores separados por vírgula. Opcionalmente, você também pode colocar esses valores separados por vírgula entre parênteses. Por exemplo -

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

A tupla vazia é escrita como dois parênteses contendo nada -

tup1 = ();

Para escrever uma tupla contendo um único valor, você deve incluir uma vírgula, mesmo que haja apenas um valor -

tup1 = (50,);

Como os índices de string, os índices de tupla começam em 0 e podem ser fatiados, concatenados e assim por diante.

Acessando valores em tuplas

Para acessar os valores na tupla, use os colchetes para dividir junto com o índice ou índices para obter o valor disponível naquele índice. Por exemplo -

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];

Quando o código acima é executado, ele produz o seguinte resultado -

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

Atualizando tuplas

As tuplas são imutáveis, o que significa que você não pode atualizar ou alterar os valores dos elementos da tupla. Você pode pegar partes de tuplas existentes para criar novas tuplas, como o exemplo a seguir demonstra -

#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

Quando o código acima é executado, ele produz o seguinte resultado -

(12, 34.56, 'abc', 'xyz')

Excluir elementos de tupla

A remoção de elementos individuais da tupla não é possível. É claro que não há nada de errado em juntar outra tupla com os elementos indesejáveis ​​descartados.

Para remover explicitamente uma tupla inteira, basta usar o deldeclaração. Por exemplo -

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;

Isso produz o seguinte resultado. Observe uma exceção levantada, porque apósdel tup tupla não existe mais -

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
   File "test.py", line 9, in <module>
      print tup;
NameError: name 'tup' is not defined

Operações básicas de tuplas

As tuplas respondem aos operadores + e * como strings; eles significam concatenação e repetição aqui também, exceto que o resultado é uma nova tupla, não uma string.

Na verdade, as tuplas respondem a todas as operações gerais de sequência que usamos em strings no capítulo anterior -

Expressão Python Resultados Descrição
len ((1, 2, 3)) 3 comprimento
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Concatenação
('Olá!',) * 4 ('Olá!', 'Olá!', 'Olá!', 'Olá!') Repetição
3 in (1, 2, 3) Verdadeiro Filiação
para x em (1, 2, 3): imprimir x, 1 2 3 Iteração

Indexação, divisão e matrizes

Como as tuplas são sequências, a indexação e o fracionamento funcionam para tuplas da mesma maneira que para strings. Assumindo a seguinte entrada -

L = ('spam', 'Spam', 'SPAM!')

 

Expressão Python Resultados Descrição
L [2] 'SPAM!' Os deslocamentos começam em zero
L [-2] 'Spam' Negativo: contar da direita
L [1:] ['Spam', 'SPAM!'] Fatiar busca seções

Sem delimitadores envolventes

Qualquer conjunto de vários objetos, separados por vírgulas, escritos sem símbolos de identificação, ou seja, colchetes para listas, parênteses para tuplas, etc., padrão para tuplas, como indicado nestes exemplos curtos -

#!/usr/bin/python

print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;

Quando o código acima é executado, ele produz o seguinte resultado -

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2

Funções de tupla integradas

Python inclui as seguintes funções de tupla -

Sr. Não. Função com Descrição
1 cmp (tupla1, tupla2)

Compara elementos de ambas as tuplas.

2 len (tupla)

Fornece o comprimento total da tupla.

3 max (tupla)

Retorna o item da tupla com valor máximo.

4 min (tupla)

Retorna o item da tupla com valor mínimo.

5 tupla (seq)

Converte uma lista em tupla.