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. |