Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dominando Tuplos em Python: Definição, Uso e Diferenças das Listas

Página Anterior Próxima Página  

Um tuplo é uma coleção de objetos ordenada e imutável. Tuplos são sequências, tal como listas. As diferenças entre tuplos e listas são: os tuplos não podem ser alterados ao contrário das listas e os tuplos usam parênteses, enquanto as listas usam colchetes.

Criar um tuplo é tão simples quanto colocar diferentes valores separados por vírgulas. Opcionalmente pode colocar estes valores separados por vírgulas entre parênteses também. Por exemplo:

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

O tuplo vazio é escrito como dois parênteses contendo nada:

 tup1 = (); 

Para escrever um tuplo contendo um único valor tem de incluir uma vírgula, mesmo que haja apenas um valor:

 tup1 = (50,); 

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

Acedendo a Valores em Tuplos

Para aceder a valores em tuplo, use colchetes para fatiar junto com o índice ou índices para obter o valor disponível nesse índice. Por exemplo:

Live Demo
 #!/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, produz o seguinte resultado:

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

Atualizando Tuplos

Tuplos são imutáveis, o que significa que não pode atualizar ou alterar os valores de elementos do tuplo. É capaz de tomar porções de tuplos existentes para criar novos tuplos como o seguinte exemplo demonstra:

Live Demo
 #!/usr/bin/python tup1 = (12, 34.56); tup2 = ('abc', 'xyz'); # A seguinte ação não é válida para tuplos # tup1[0] = 100; # Então vamos criar um novo tuplo da seguinte forma tup3 = tup1 + tup2; print tup3; 

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

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

Eliminar Elementos de Tuplo

Remover elementos individuais de tuplo não é possível. Há, claro, nada de errado em juntar outro tuplo com os elementos indesejados descartados.

Para remover explicitamente um tuplo inteiro, use apenas a declaração del. Por exemplo:

Live Demo
 #!/usr/bin/python tup = ('physics', 'chemistry', 1997, 2000); print tup; del tup; print "After deleting tup : "; print tup; 

Isto produz o seguinte resultado. Note uma exceção levantada, isto é porque após del tup o tuplo 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 Tuplos

Tuplos respondem aos operadores + e * muito como strings; significam concatenação e repetição aqui também, exceto que o resultado é um novo tuplo, não uma string.

De facto, tuplos 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
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') Repetição
3 in (1, 2, 3) True Pertinência
for x in (1, 2, 3): print x, 1 2 3 Iteração

Indexação, Fatiamento e Matrizes

Porque tuplos são sequências, indexação e fatiamento funcionam da mesma forma para tuplos como para strings. Assumindo a seguinte entrada:

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

 

Expressão Python Resultados Descrição
L[2] 'SPAM!' Offsets começam em zero
L[-2] 'Spam' Negativo: contar a partir da direita
L[1:] ['Spam', 'SPAM!'] Fatiamento obtém secções

Sem Delimitadores de Envolvimento

Qualquer conjunto de múltiplos objetos, separados por vírgulas, escrito sem símbolos de identificação, ou seja, colchetes para listas, parênteses para tuplos, etc., default para tuplos, como indicado nestes exemplos curtos:

Live Demo
 #!/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, produz o seguinte resultado:

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

Funções Built-in de Tuplo

O Python inclui as seguintes funções de tuplo:

Sr.No. Função com Descrição
1 cmp(tuple1, tuple2)

Compara elementos de ambos os tuplos.

2 len(tuple)

Dá o comprimento total do tuplo.

3 max(tuple)

Retorna item do tuplo com valor máximo.

4 min(tuple)

Retorna item do tuplo com valor mínimo.

5 tuple(seq)

Converte uma lista em tuplo.

python

  1. Dominando Tipos de Dados em Python: Guia Prático
  2. Dominando Operadores em Python: Guia Completo
  3. Dominando a Declaração Pass em Python: Guia Prático
  4. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  5. Dominando Dicionários em Python: Criação, Manipulação e Técnicas Avançadas
  6. Dominando Iteradores em Python: Como Funcionam e Como Criar os Seus
  7. Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
  8. Dominando datetime do Python: Guia Prático de Datas, Horários e Fusos Horários
  9. Dominando time.sleep() do Python: Boas Práticas, Multithreading e Exemplos Reais
  10. Dominando Tuplas em Python: Packing, Unpacking, Comparação, Slicing e Chaves de Dicionário