Listas no Python

Curso de Python

Salve salve Pythonista!

Nesse post, vamos tratar de um tipo de dados muito importante da linguagem Python: as Listas!

Ela está presente no dia a dia do desenvolvedor Python e é muito importante para construção de códigos utilizando nossa querida linguagem.

Se prepare que o post está C-O-M-P-L-E-T-O!

Então já abre seu terminal para acompanhar o post e vamos nessa!

Terminal

Ops, Fallout :laughing:

Vá Direto ao Assunto…

Introdução

Uma Lista (list) em Python, nada mais é que uma coleção ordenada de valores, separados por vírgula e dentro de colchetes [].

Elas são utilizadas para armazenar diversos itens em uma única variável. Entender este conteúdo é de extrema importância para dominar a linguagem por completo!

Abaixo temos um exemplo de uma lista:

1
2
3
4
# Exemplo de lista:
lista = ['Python', 'Academy']

print(lista)

Saída do código acima:

1
['Python', 'Academy']

Podemos observar a classe de uma lista com type():

1
2
3
lista = []

print(type(lista))

Saído do código acima:

1
<class 'list'>

Criando listas

Existem várias maneiras de se criar uma lista.

A maneira mais simples é envolver os elementos da lista por colchetes, por exemplo:

1
2
# Lista com apenas um elemento
lista = ["PythonAcademy"]

Também podemos criar uma lista vazia:

1
lista = []

Para criar uma lista com diversos itens, podemos fazer:

1
lista = ['Python', 'Academy', 2021]

Também podemos utilizar a função list do próprio Python (built-in function):

1
lista = list(["Python Academy"])

Outra forma é criar listas resultantes de uma operação de List Comprehensions!

List Comprehensions Não domina List Comprehensions? Então já clica aqui para ler nosso post completo sobre esse assunto! :wink:

1
[item for item in iteravel]

Podemos ainda criar listas através da função range(), dessa forma:

1
list(range(10))

O que resultará em:

1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Acessando dados da lista

Todos os itens de uma lista são indexados, ou seja para cada item da lista um índice é atribuído da seguinte forma: lista[indice].

Exemplo com itens:

1
frutas = ['Maça', 'Banana', 'Jaca', 'Melão', 'Abacaxi']

E assim ficaria a sequência de índices:

Tabela 1

Em Python os índices são iniciados em 0.

Ou seja, como podemos acessar o primeiro item da lista que é o índice 0? Veja abaixo:

1
print(frutas[0])

A saída como previsível foi a string com a palavra Maça por ocupar o índice 0:

1
Maça

Agora vamos ver sobre Indexação Negativa!

Na verdade, primeiro você vai se inscrever na nossa exclusiva lista de emails e ficar por dentro das atualizações da Python Academy em PRIMEIRA MÃO! :point_down:

Agora que você já faz parte, podemos seguir! :wink:

Indexação negativa

E se o desejado for o último item? :thinking:

Neste momento entramos no conceito de indexação negativa, que significa começar do fim.

-1 irá se referir ao último item. Por exemplo:

Tabela 2

Dessa forma, para buscar pelo último item da lista:

1
print(frutas[-1])

Resultando em:

1
Abacaxi

Lista dentro de lista

Suponha que exista uma lista dentro de uma lista, assim:

1
lista = ['item1', ['python', 'Academy'], 'item3']

Como podemos acessar o primeiro índice do item que é uma lista?

A resposta é simples, basta selecionar a posição em que se localiza a lista para ter acesso a ela, assim:

1
2
sublista = lista[1]
print(sublista[0])

Ou ainda:

1
print(lista[1][0])

Ambos obtém mesmo resultado:

1
'python'

:nerd_face: Quer fazer um curso COMPLETO de Python, do Básico ao Avançado, com Acesso Vitalício, Suporte individual e personalizado, com CERTIFICADO PROFISSIONAL e com 7 DIAS DE GARANTIA?

:point_right: Então clique aqui e confira nosso curso parceiro da Python Academy!


Fatiando uma lista (slicing)

O fatiamento de listas, do inglês slicing, é a extração de um conjunto de elementos contidos numa lista. Ele é feito da seguinte forma:

1
lista[ inicio : fim : passo ]

Explicando cada elemento:

  • início se refere ao índice de início do fatiamento.
  • fim se refere ao índice final do fatiamento. A lista final não vai conter esse elemento.
  • passo é um parâmetro opcional e é utilizado para se pular elementos da lista original

Vamos entender melhor em seguida!

Se quisermos criar uma fatia de uma lista do índice 2 ao 4, podemos fazer da seguinte forma:

1
2
3
lista = [10, 20, 30, 40, 50, 60]

print(lista[2:5])

O slicing conta a partir do índice 2 até o índice 5 (mas não o utiliza), pegando os índices 2, 3, 4.

Sua saída será:

1
[30, 40, 50]

Percorrendo listas

A forma mais comum de percorrer os elementos em uma lista é com um loop for elemento in lista, assim:

1
2
3
4
lista = [10, 20, 30, 40, 50, 60]

for num in lista:
    print(num)

Saída:

1
2
3
4
5
6
10
20
30
40
50
60

Com a função enumerate() podemos percorrer também o índice referente a cada valor da lista:

1
2
3
4
lista = [10, 20, 30, 40, 50, 60]

for indice, valor in enumerate(lista):
    print(f'índice={indice}, valor={valor}')

Sua saída será:

1
2
3
4
5
6
índice=0, valor=10
índice=1, valor=20
índice=2, valor=30
índice=3, valor=40
índice=4, valor=50
índice=5, valor=60

Que tal poupar algumas linhas e obter o mesmo resultado com List Comprehension?

1
2
3
4
[print(num) for num in lista]

# Com enumerate:
[print(f'índice={indice}, valor={valor}') for indice, valor in enumerate(lista)]

A saída será a mesma! :wink:

Métodos para manipulação de Listas

O Python tem vários métodos disponíveis em listas que nos permite manipulá-las.

Separamos esse conteúdo em outro post que você pode acessar agora clicando aqui!

Conclusão

Nesse post vimos todo o poder e flexibilidade das Listas do Python.

Dominá-las é muito importante e ajuda muito no dia a dia do desenvolvedor Python!

Nos vemos no próximo post, dev! :wink:

Gostou do conteúdo? Compartilha aí!