Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Introdução à Tuplas e Lístas

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui




Vamos abordar rapidamente dois tipos de dados em Python que eu considero como fundamental a compreensão: Tuplas e Listas

Tuplas



As tuplas são agrupamentos imutáveis de objetos heterogêneos (de qualquer tipo). Ao dizer imutável me refiro à característica de que a tupla, uma vez criada, não pode ser alterada, isto é, não é possível adicionar, remover alterar seus itens.

Isso parece ser uma desvantagem, mas na verdade ela foi elaborada dessa forma para “ocupar menos espaço”. Uma vez que ela é imutável é necessário menos bits para criá-la. Se seu programa realmente necessitar de um agrupamento que irá variar ao longo do tempo, utilize as listas.



Criando uma tupla

A forma mais comum de se criar uma tupla é utilizar os parênteses como delimitador e separar seus itens por vírgula:
Código :
 >>> (1, 2, 3, 4)  # Exemplo de tupla
(1, 2, 3, 4)
Existem outra forma de se “declarar” uma tupla:
Código :
 >>> 1, 2, 3, 4  # Exemplo de tupla
(1, 2, 3, 4)
Se os parênteses forem omitidos o Python irá entender que isso se trata de um tupla. Se precisarmos criar uma tupla de um único item, temos um comportamento um pouco diferente:
Código :
 >>> (1) # Isso é uma tupla?
1
>>> (1,) # Isso é uma tupla!!!
(1,)
>>>
Porque isso ocorre? Ao escrever somente (1) o python não tem como garantir que isso é uma tupla. O Python na verdade entende isso como um número inteiro entre parêntesis (operação matemática).

A tupla pode armazenar qualquer coisa:
Código :
 >>> ('este', 'e', 'um', 'teste')  # Tupla com strings
('este', 'e', 'um', 'teste')
>>> (1.25, 5.5, 0.75)  # Tupla com floats
(1.25, 5.5, 0.75)
>>> ((1,2), (2,3), (3,4))  # Tupla com tuplas
((1, 2), (2, 3), (3, 4))
>>>
Mas isso não é tudo!! Como eu disse, seus itens podem ser heterogêneos:
Código :
 >>> ('string', 1, (2,4), 4.75)  # Vamos misturar tudo!
('string', 1, (2, 4), 4.75)
>>>
Operações com Tuplas

Existem algumas operações que podemos fazer com as tuplas.
Código :
 >>> (1, 2) + (3, 4)  # Expansão de tuplas
(1, 2, 3, 4)
>>> (1, 2) * 3  # Repetição
(1, 2, 1, 2, 1, 2)
Antes que alguém diga que eu alterei a tupla com os sinais de + e * e que elas não são imutáveis, eu quero ressaltar que no caso da soma eu tenho duas tuplas, as duas são combinadas para gerar uma terceira, nenhuma foi alterada. Isso vai ficar mais claro quando começarmos a ver variáveis.




Listas



As listas são similares às tuplas, mas com a diferença de que são mutáveis, isto é, podemos alterá-la. Para declarar uma lista utilizamos colchetes:
Código :
 >>> [1, 2, 3, 4]  # Lista simples
[1, 2, 3, 4]
>>> [1] # Lista de um único ítem. Não é necessária a vírgula
[1]
>>> ['string', 12, 5.75, (2, 3), ['teste', (4, 'string?!')]]  # Tudo misturado
['string', 12, 5.75, (2, 3), ['teste', (4, 'string?!')]]
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
>>>
Como podem ver as listas e tuplas se assemelham muito. Atenção para a terceira lista que eu criei. Os itens dela foram:

  • Uma string;
  • Um número inteiro;
  • Um número com ponto flutuante;
  • Uma tupla composta de 2 itens e;
  • Uma lista composta de 2 itens.


Esse é o básico de tuplas e listas. Olhando assim parece que é um conteúdo limitado, mas eu estou me limitando ao básico do básico. Mais para frente quando começarmos a ver variáveis, condicionais, controladores de fluxo, funções e métodos esse conteúdo (listas, tuplas e strings) se tornará muito mais extenso e eu vou retornar à eles de maneira recorrente.

Por hoje é só! Semana que vem veremos dicionários!
Até mais....

Atualizado 01-09-2010 em 09:07 por Magnun

Categorias
Python , Artigos , Artigos , Cursos , Curso de Python

Comentários

Página 2 de 2 PrimeiroPrimeiro 12
  1. Avatar de Nepomuceno
    As tuplas sempre serão reconhecidas pelo Python através da "virgula" (,) depois de cada item ? E se por algum engano e eu escrever (1, 2, 3 4, 5) a falta da virgula entre o 3 e o 4 causará algum erro logicamente, como eu deveria prosseguir para conserta-lo (só um exemplo de minha duvida)?
Página 2 de 2 PrimeiroPrimeiro 12

+ Enviar Comentário