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 que as tuplas não podem ser alteradas, diferentemente das listas e tuplas usam parênteses, enquanto as listas usam colchetes.
Criar uma tupla é tão simples quanto colocar diferentes valores separados por vírgulas. 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,);
Assim 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 valores em tupla, use os colchetes para fatiar junto com o índice ou índices para obter o valor disponível naquele índice. Por exemplo -
Demonstração ao vivo
#!/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 -
Demonstração ao vivo
#!/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 da tupla
A remoção de elementos de tupla individuais não é possível. É claro que não há nada de errado em montar outra tupla com os elementos indesejados descartados.
Para remover explicitamente uma tupla inteira, basta usar o del declaração. Por exemplo -
Demonstração ao vivo
#!/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, isso ocorre porque depois de del 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
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 | ('Oi!', 'Oi!', 'Oi!', 'Oi!') | Repetição |
3 em (1, 2, 3) | Verdadeiro | Associação |
para x em (1, 2, 3):imprima x, | 1 2 3 | Iteração |
Indexação, fatiamento e matrizes
Como as tuplas são sequências, a indexação e o fatiamento funcionam da mesma maneira para as tuplas e para as 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:contagem da direita |
L[1:] | ['Spam', 'SPAM!'] | Fatiar busca seções |
Sem delimitadores inclusos
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, conforme indicado nestes exemplos curtos −
Demonstração ao vivo
#!/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 incorporadas
Python inclui as seguintes funções de tupla -
Nº Sr. | 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. |
python