Python 3 - Tuplas

Uma tupla é uma coleção de objetos ordenados e imutáveis. Tuplas são sequências, assim como listas. A principal diferença entre as tuplas e as listas é que as tuplas não podem ser alteradas ao contrário das listas. 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írgulas 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 fatiar junto com o índice ou índices para obter o valor disponível naquele índice. Por exemplo -

#!/usr/bin/python3

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ê é capaz de pegar partes das tuplas existentes para criar novas tuplas como o exemplo a seguir demonstra -

#!/usr/bin/python3

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/python3

tup = ('physics', 'chemistry', 1997, 2000);

print (tup)
del tup;
print ("After deleting tup : ")
print (tup)

Isso produz o seguinte resultado.

Note- Uma exceção é gerada. Isso é porque depoisdel 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): print (x, end = '') 1 2 3 Iteração

Indexação, divisão e matrizes

Uma vez que as tuplas são sequências, indexação e divisão funcionam da mesma maneira para tuplas e strings, assumindo a seguinte entrada -

T=('C++', 'Java', 'Python')

Expressão Python Resultados Descrição
T [2] 'Pitão' Os deslocamentos começam em zero
T [-2] 'Java' Negativo: contar da direita
T [1:] ('Java', 'Python') Fatiar busca seções

Sem delimitadores envolventes

Nenhum delimitador envolvente é qualquer conjunto de objetos múltiplos, 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, conforme indicado nestes exemplos curtos.

Funções de tupla integradas

Python inclui as seguintes funções de tupla -

Sr. Não. Descrição da funçã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.