Diferença entre Listas, Tuplas e Dicionários no Python
Tags: python, listas, tuplas, dicionário
Published: 2024-06-22 16:15:12

Como muitos já devem saber, o Python é uma das linguagens que vem crescendo exponencialmente na análise de dados, assim como tem vários conceitos básicos que precisamos dominar par um melhor aproveitamento. Sendo assim, vou explicar o conceito de alguns itens que eu considero fundamentais e mostrar na prática nesse artigo.
Os exemplos apresentados foram executados no Jupyter Notebook, então, não estranhe a ausência do Print()

## **Listas**
Uma lista é uma estrutura de dados de forma sequencial na qual cada item é acessado a partir de um índice (a partir do zero), que representa sua posição inicial.. A lista é mutável, ou seja, pode ter seus valores alterados.

```
#Criando uma lista
listadomercado = [“ovos, farinha, leite, maças”]

# Imprimindo a lista
print(listadomercado)

# Imprimindo um item da lista
listadomercado[2]

#Adicionando mais informações a uma lista

listadomercado.append(‘Trigo’)

# Atualizando um item da lista
listadomercado[2] = “chocolate”

# Imprimindo lista alterada
print(listadomercado)

# Deletando um item específico da lista
del listadomercado[3]

# Imprimindo o item com a lista alterada
listadomercado
```

## **Listas de listas (Listas aninhadas)**
Listas de listas são matrizes em Python, em outras palavras possuem linhas e colunas

`# Criando uma lista de listas
listas = [[1,2,3], [10,15,14], [10.1,8.7,2.3]]

# Imprimindo a lista
print(listas)
` 

```
# declaração de 2 listas
lista_s1 = [34, 32, 56]
lista_s2 = [21, 90, 51]

# Concatenando listas
lista_total = lista_s1 + lista_s2

print(lista_total)
```

## **Dicionários**
Dicionários são utilizados para representar chaves e valores {Key : Value}. Diferente das listas que são ordenadas pelo índice (que começa do 0), nos dicionários nós podemos definir as chaves e os valores, sendo assim, os dicionários são muito utilizados para projetos complexos.

```

# Isso é um dicionário
estudantes_dict = {“Mateus”:24, “Fernanda”:22, “Tamires”:26, “Cristiano”:25}

#Imprimindo dicionário
print(estudantes_dict)

#Podemos acessar o valor de um chave, da seguinte maneira
print(estudantes_dict[“Fernanda”])

#Limpando um dicionário
estudantes_dict.clear()
#Aqui é importante ressaltar, que ao limparmos o dicionário ele continua #existindo. No entanto, agora temos um dicionário estudantes_dict vazio !

#Adicionando mais itens ao dicionário
estudantes_dict[“Pedro”] = 23

#Deletando um dicionário, ao deletarmos ele deixa de existir
del estudantes_dict

#Exibindo toda as chaves de um dicionário
estudantes_dict.keys()

#Exibindo todas os valores de um dicionário
estudantes_dict.values()

#exibindo os itens de um dicionário (keys + values)
estudantes_dict.items()

#Exibindo o comprimento de um dicionário
print( len(estudantes_dict) )

#As chaves e valores podem ser iguais, mas apresentam informações diferentes. Ainda assim, não é recomendado criar dicionários com chaves e valores iguais, porque pode causar confusão para o entendimento de outros analistas, dificultar a manutenção etc.
dic1 = {“a”:”a"}

```

## **Tuplas**
São sequências de informações (strings, inteiros, listas, etc.) não mutáveis. Ou seja, depois que definidas não podem ter seus valores alterados. É indicado a sua utilização, somente para situações em que o valor nunca será alterado. (Ex: Fechamento da cotação de uma moeda, data de nascimento, etc.)

```
# Criando uma tupla
tupla1 = (“Geografia”, 23, “Elefantes”)

# Imprimindo a tupla
tupla1

# Tuplas não suportam append()
tupla1.append(“Chocolate”)

# Tuplas não suportam delete de um item específico
del tupla1[“Gatos”]

# Tuplas podem ter um único item
tupla1 = (“Chocolate”)

# Verificando o comprimento da tupla
len(tupla1)

# Tuplas não suportam atribuição de item
tupla1[1] = 21

# Deletando a tupla
del tupla1

# Tuplas não suportam atribuição de item
tupla1[3] = 21
```
Se precisarmos fazer alteração de uma informação na tupla, o que fazemos ?
Podemos converter para uma lista, fazemos as alterações necessárias, por fim, convertemos novamente para tupla.

```
# Convertemos tupla1 para lista
a= list(tupla1)

a.append(“test3”)

# Depois, convertemos a lista para tupla fazendo atribuição

tupla1 = tuple(a)
```