Vamos começar a programar em Python? (Parte V)
Por Rui Oliveira para o Pplware
Actualmente são muitas as linguagens de programação ao dispor dos programadores e curiosos pela “arte” de programar. O desenvolvimento de aplicações está hoje em dia direcionado para a Web e para os dispositivos móveis mas há ainda muito a fazer no que diz respeito à integração de sistemas.
Depois de iniciarmos a nossa rubrica sobre a linguagem de programação Python, hoje iremos começar a explicar alguns elementos/sintaxe que fazem parte desta.
Na rubrica de hoje: Listas, tuplos, dicionários
Python é das linguagens de programação mais versáteis em termos de armazenamento de conjuntos de dados. Possui listas, tuplos, dicionários e sets. Mas o que são todos estes nomes? É o que vamos descobrir na rubrica de hoje.
Listas:
Uma lista em Python é um tipo de variável especial, pois contem conjuntos de dados de qualquer tipo, de forma ordenada.
Um exemplo de uma lista em Python:
>>>lista_1=[24, ”pplware”, True, 56.4, [1, ”Python”], “random”] |
Como se pode ver a sintaxe de listas é feita da seguinte forma: a lista é aberta e fechada por parênteses rectos ([]) e os valores separados por vírgulas. Como mostrado no exemplo listas podem misturar elementos de qualquer tipo: ints, floats, bools e até outras listas dentro de listas.
A indexação dos elementos é feita pela ordem por são escritos: o primeiro elementos em índice zero (0), o segundo índice um (1) e por aí diante. Ou seja para pedir o primeiro elementos da lista acima seria:
>>>lista_1[0] |
Ou para pedir o terceiro elemento:
>>>lista_1[2] |
As listas também possuem uma forma inversa de numeração: para pedir o ultimo elemento da lista:
>>>lista_1[-1] |
Ou o antepenúltimo:
>>>lista_1[-3] |
As listas possuem os seguintes métodos:
Tuplos
Os tuplos são elementos do tipo de conjunto de dados, mas são imutáveis. Isto quer dizer que uma vez criado um tuplo este não pode ser mudado. O que não quer dizer que os valores do tuplo não possam ser indirectamente mudados: um tuplo de variáveis é fixo, mas os valores dessas variáveis não.
A sintaxe de um tuplo genericamente:
>>>tuplo_1=(1, 2.3, variável_1, “pplware”, [1,4,5,7], (“tuplo”,”lista”)) |
A diferença de sintaxe relativamente às listas prende-se pelo uso de parênteses curvos em vez de rectos. Aliás o uso de parênteses nem é obrigatório:
>>>tuplo_1= 23, 56.4, “pplware” |
É uma sintaxe válida de tuplos. Esta sintaxe em particular é usada quando se quer atribuir valores a variáveis simultaneamente, usando tuplos implícitos:
>>>variavel_1 , variável_2 = 34, 63 |
Ou para trocar os valores de duas variáveis facilmente:
>>> a , b = b , a |
Dicionários
Os dicionários são um elemento de conjunto muito especial: os valores não são indexados por uma cardinalidade mas sim por chaves personalizáveis. A ordem por qual se escreve elementos num dicionário não interessa.
Sintaxe geral de um dicionário:
>>>dic_1={“uma_chave”:4 , 3:_”pplware”, “outra_chave”:”uma_string” , “lista”:[1,2,3]} |
Como se pode ver a abertura e fecho dos dicionários faz-se com recurso à chaveta, e as chaves e os valores são separados por dois pontos (:), da forma:
chave:valor
Para pedir um elemento do dicionário acima:
>>>dic_1[“uma_chave”] >>>dic_1[3] |
Note-se que os valores podem ser de qualquer tipo, enquanto as chaves tem de ser de tipo imutável (strings, int, float são os mais comuns)
Para modificar um elemento, ou adicionar outro:
>>>dic_1[3]=”Hello” >>>dic_1[“python”]=True |
Esta sintaxe muda o valor da chave se existir ou acrescenta ao dicionário se inexistente.
Métodos comuns de dicionários:
E hoje ficamos por aqui. Agradecemos desde já o vosso feedback a este conteúdos e gostaríamos de saber se estes tutoriais vos têm ajudado com introdução à linguagem Python.
Este artigo tem mais de um ano
Parabéns pela excelente rubrica, estou a aprender bastante!
No entanto, tenho 2 dúvidas:
– Em >>>dic_1={“uma_chave”:4 , 3:_”pplware”, “outra_chave”:”uma_string” , “lista”:[1,2,3]} – O “_” antes de “pplware” é propositado? Ou foi simplesmente um erro ao digitar o exemplo?
– Na última tabela, em “dic.get(key, alt)”, não percebi a diferença entre o retornar “None” e o retornar “alt”, pois pelo que percebi da explicação, a forma de retornar um ou o outro é quando a chave “key” não existir… Fiquei um pouco confuso.
Se omitires o alt e a função get não encontrar nenhuma chave no teu dicionário te não vai retornar um valor
se meteres algum valor no alt é o que te aparece no caso de não encontrar a chave por exemplo:
dic_1 = {1: “valor1”, 2: “valor2”}
se fizeres
dic_1.get(1, “não existe essa chave”)
ou
dic_1.get(1)
vai-te retornar
‘valor1’
porque existe essa chave
se fizeres com uma chave inexistente como por ex:
dic_1.get(3, “não existe essa chave”)
vai retornar
‘não existe essa chave’
sem o alt
dic_1.get(3)
#nada porque omitis-te o parâmetro alt
>>>
Ahh já percebi, obrigado! 😉
Boa rubrica, estou a gostar! Venham mais =)
Fiquei com uma dúvida, nos tuplos diz:
“O que não quer dizer que os valores do tuplo não possam ser indirectamente mudados: um tuplo de variáveis é fixo, mas os valores dessas variáveis não.”
dando o exemplo:
variavel_1 = 10
tuplo_1 = variavel_1, “pplware”
#tuplo_1 dá o output (10, ‘pplware’)
variavel_1 = 20
#tuplo tem o mesmo output..
Não era suposto mudar ? Isto acontece-me no python v2.7
fico a espera da vossa ajuda 🙂
Na declaração do dicionário não me aceita aspas mas sim plicas:
>>> dic_1 = {‘uma_chave’:4, 3:’pplware’, ‘outra_chave’:’uma_string’ , ‘lista’:[1,2,3]}
mas podemos usá-las para obter o valor:
>>> dic_1[“uma_chave”]
4
Muito obrigado por estes tutoriais. Já há mais de um ano que ando para tentar começar mas aborrece-me seguir um ebook ou assim. Assim quando sai no pplware tento acompanhar. 😉
Obrigado