top of page

Listas e tuplas em Python

Atualizado: 24 de jun.


🟤 LISTAS


Uma lista é uma coleção ordenada de objetos, separados por vírgula e entre colchetes.

As listas podem ter elementos duplicados, podem ter em uma mesma lista nome, número, etc, porem, é recomendável que uma lista seja feita de dados homogêneos, ou seja, com elementos pertencentes a mesma categoria.

É possível editar, remover, incluir, ordenar, executar métodos (append, index, etc) de objetos de lista.


É importante ressaltar que Python considera que o primeiro elemento de uma lista esta na posição 0 e não na posição 1. O segundo elemento de uma lista, esta na posição 1 e assim por diante.


Para criar uma lista precisamos nomeá-la, neste exemplo minha lista se chamará "friends":



🚩 Lista vazia:


friends = [ ] # Lista chamada friends, e esta vazia, sem nenhum elemento entre o colchetes.



🚩 Lista com elementos:

friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']

🚩 Lista com elementos, e o comando para Python printar o elemento de número 1

friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
print(friends[1])

A saída será luisa, pois o primeiro elemento de índice 0 é amanda, o segundo, luisa.

Para melhor entendimento os elementos das lista representadas pelo índice, ficaria assim:

friends = [0, 1, 2, 3, 4, 5]


🚩 Lista com elementos, e o comando para Python printar o último elemento da lista

friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']
print(friends[-1])

A saída será rafael pois o último elemento da lista será índice -1, o penúltimo, -2, e assim por diante.




Métodos em uma lista


Para manusear elementos da lista para incluir, excluir, etc, utilizamos os métodos em Python.

Método é uma função que pertence a um objeto específico e os métodos são chamados em objetos e podem acessar e modificar os elementos dentro do objeto que estão sendo chamados. Uma lista, existem alguns métodos como append, insert, remove, etc, esses métodos são específicos para objeto do tipo lista e podem ser chamados em qualquer instância dessa classe de objeto. Os métodos são semelhantes a funções, mas estão associados a um objeto.



✳️ insert e append (incluir dado em uma lista)


Podemos adicionar um elemento novo em qualquer posição com o método insert(). Para isso, você precisa especificar o índice do elemento novo e o valor(dado) dele.


No exemplo abaixo, nome da lista + . ponto para chamar o método + ( ) parênteses + índice que desejo adicionar + , + novo valor que quero adicionar na lista.

Ou seja, no script abaixo estou pedindo que Python adicione na primeira posição (0) na lista existente friends o nome 'alfredo'. Sempre que foi uma string utilizamos aspas duplas ou simples " " ou ' ' e sempre que tiver # inicial, significa que é um comentário no código e o que esta nesta linha, não será executado.


friends.insert(0, 'alfredo')


Para adicionar um elemento no final da lista, podemos utilizar o método .append()


lista = [1, 2, 3]

lista.append(4)


print(lista)

# Saída: [1, 2, 3, 4]


A diferença entre insert e append é que com o insert, você poderá adicionar um elemento em qualquer posição da lista, já o método append necessita apenas de um valor como argumento para inseri-lo no final da lista.



✳️ del, pop() e remove() (Excluir dados em uma lista)


Podemos remover um elemento de uma lista utilizando del, através do índice.


No exemplo abaixo, estou executando o comando para excluir o primeiro nome da lista (posição 0)


del friends[0]

O método pop remove o último item da lista se você não especificar qual o elemento que deseja excluir.


No exemplo abaixo, utilizei apenas .pop() sem especificar o item, por tanto. Python considera o último item da lista.



friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']

poped_friends = friends.pop()
print(friends)

A saída será: ['amanda', 'luisa', 'camila', 'roger']


Para especificar qual elemento desejo excluir, colocaria o índice dentro de parênteses, conforme exemplo abaixo:


friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']

poped_friends = friends.pop(2)
print(friends)

A saída será a lista completa, sem o nome da camila, que ocupa o índice 2 da lista.



Para remover um elemento de uma lista através do valor dele, utilizaremos o método remove


friends = ['amanda', 'luisa', 'camila', 'roger', 'rafael']

friends.remove('roger')
print(friends)

Obs: O método remove deleta apenas a primeira ocorrência do valor especificado. Se existirem valores duplicados na lista, é necessário usar um loop.



✳️ Ordenamento de uma lista


Método sort() altera permanentemente para ordem alfabética os elementos da lista:


friends.sort()


Para utilizar a ordem alfabética reversa:


friends.sort(reverse=True)



Caso você não queira alterar permanentemente os elementos de uma lista, mas apenas printar em ordem ordenada, podemos utilizar a função sorted().


print(sorted(friends))



✳️Exibir uma lista em ordem reversa


friends.reverse()


Como resultado, o primeiro item da lista passa a ser rafael.

O método reverse() altera permanentemente a ordem de uma lista, mas podemos reverter para a ordem original a qualquer momento aplicando reverse() à mesma lista na segunda vez.



✳️ Tamanho de uma lista


Utilizamos a função len para contar quantos elementos existem em uma determinada lista.

len(friends)



Segue abaixo os principais métodos utilizados em listas:


Nome do Método

Descrição

append()

Adiciona um elemento ao final da lista.

clear()

Remove todos os elementos da lista.

copy()

Retorna uma cópia superficial da lista.

count()

Retorna o número de ocorrências de um determinado elemento na lista.

extend()

Adiciona os elementos de uma lista (ou qualquer iterável) ao final da lista.

index()

Retorna o índice do primeiro elemento com o valor especificado.

insert()

Adiciona um elemento em uma posição específica da lista.

pop()

Remove e retorna o elemento na posição especificada (ou o último elemento, se não houver índice especificado).

remove()

Remove a primeira ocorrência do elemento com o valor especificado.

reverse()

Inverte a ordem dos elementos na lista.

sort()

Ordena os elementos da lista em ordem crescente por padrão (ou de acordo com uma função de comparação opcional).

len()

Retorna o número de elementos na lista.

max()

Retorna o elemento com o valor máximo na lista.

min()

Retorna o elemento com o valor mínimo na lista.

join()

Concatena todos os elementos de uma lista em uma única string, usando um separador especificado.

del

Remove um elemento em uma posição ou fatia específica da lista.

slice()

Retorna uma parte da lista, especificando um intervalo de índices.






Loop para percorrer uma lista


Os loops possibilitam que executemos a mesma ação ou várias ações, com todos os itens da lista, sendo assim, é um facilitador para trabalharmos com listas com milhares de dados.

Quando queremos percorrer todos os elementos de uma lista, executamos a mesma tarefa para cada item de uma lista.


Exemplo:


friends = ['amanda', 'luisa', 'pedro', 'gabriel']

for friend in friends:
    print(friends)

a saída será:

['amanda', 'luisa', 'pedro', 'gabriel']

['amanda', 'luisa', 'pedro', 'gabriel']

['amanda', 'luisa', 'pedro', 'gabriel']

['amanda', 'luisa', 'pedro', 'gabriel']


Pois para cada elemento da lista, python executa o comando print.




Função range


A função range() é bastante útil para gerar uma série de números


for valor in range(1, 6):

print(valor)


A saída será os números começando em 1 e terminando em 5.


1

2

3

4

5



Para criar uma lista de números com range utilizaremos também a função list(), chamamos isso de wrapper, a saída será uma lista de números.


numeros = list(range(1, 6))

print(numeros)


A saída será uma lista contendo números de 1 a 5.


[1, 2, 3, 4, 5]



Podemos utilizar a função range para informar ao Python que desconsidere algum intervalo.


Por exemplo o primeiro argumento em range estou solicitando a Python que inicie a contagem em 1, que percorra até o item 12, e de 2 em 2 casas. Chamamos isso de step ou intervalo numérico.


numeros = list(range(1, 12, 2))
print(numeros)

saída: [1, 3, 5, 7, 9, 11]




🟤 TUPLAS


Uma tupla é uma estrutura de dados que pode armazenar múltiplos itens em uma única variável. Diferente das listas, as tuplas são imutáveis, o que significa que, uma vez criada, seus elementos não podem ser alterados, adicionados ou removidos. Tuplas são definidas usando parênteses () e os itens são separados por vírgulas.


Exemplo de uma tupla chamada friends:

friends = ('amanda', 'luisa', 'rafael')


Ou seja, a tupla é uma lista, só que imutável (não sofre alteração durante a execução do programa), e ao invés de utilizarmos os colchetes [ ], utilizaremos parênteses ( ).


Algumas características:


🚩 Ordenadas: Os elementos têm uma ordem definida que não pode ser alterada.

🚩 Permite duplicatas: Tuplas podem conter dados não homogêneos (heterogêneos), contendo múltiplos valores iguais.

🚩 Diferente tipo de dados: Uma tupla pode conter strings, números, listas, etc.


Se tentarmos alterar o valor da tupla, Python resultará em erro pelo motivo que falamos acima, as tuplas não podem ser alteradas, uma vez criadas.


friends = ('amanda', 'luisa', 'rafael)

# minha_tupla[0] = 'jose' # Isso gerará um erro

bottom of page