Aula 05 - Curso de Python - Listas

  • Listas são coleções de objetos de diversos tipos, inclusive outras listas.
  • Em uma lista você pode misturar os tipos dos objetos.
  • São mutáveis.
  • Listas podem ser fatiadas da mesma jeito que as strings, mas como as listas são mutáveis, é possível fazer atribuições a itens da lista.
Sintaxe: lista = [a, b, ..., z] Operações comuns com listas:

#nova lista
lista = ["cachorro", [1, 2, 3], 3.5, False]

#Percorre a lista e imprime cada item
for item in lista:
    print(item)

# Trocando o último elemento
lista[-1] = 'python'

# Incluindo
lista.append('carro’)

# Removendo
lista.remove('cachorro’)

# Ordena a lista
lista.sort()
Saída: Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: list() < str() O erro ocorre porque temos uma lista com tipos incompatíveis para uma ordenação. Vamos criar uma outra lista contendo strings apenas: minha_lista = ["python", "ruby", "go", "javascript", "lua", "C++"]

# Ordena a lista
minha_lista.sort()

minha_lista
Saída: ['C++', 'go', 'javascript', 'lua', 'python', 'ruby']

# Inverte a lista
minha_lista.reverse()

minha_lista
['ruby', 'python', 'lua', 'javascript', 'go', 'C++']

# Imprime numerado
for i, linguagem in enumerate(minha_lista):
    print(i + 1, "=>", linguagem)
Saída: 1 => ruby 2 => python 3 => lua 4 => javascript 5 => go 6 => C++ A função enumerate() retorna uma tupla de dois elementos a cada iteração: um número sequencial e um item da sequência correspondente. # Imprime do segundo item em diante print(minha_lista[1:]) Saída: ['python', 'lua', 'javascript', 'go', 'C++'] o método pop() facilita a implementação de filas e pilhas lista = ['A', 'B', 'C', 'D', 'E'] print('lista:', lista) Saída: lista: ['A', 'B', 'C', 'D', 'E’]

# A lista vazia é avaliada como falsa
while lista:
    # Em filas, o primeiro item é o primeiro a sair
    # pop(0) remove e retorna o primeiro item, o item da posição 0
    print('Saiu', lista.pop(0), ', faltam', len(lista))
Saída: Saiu A , faltam 4 Saiu B , faltam 3 Saiu C , faltam 2 Saiu D , faltam 1 Saiu E , faltam 0

# Mais itens na lista
lista += ['F', 'G', 'H']
print('lista:', lista)
lista: ['F', 'G', 'H’]
while lista:
# Em pilhas, o primeiro item é o último a sair
# pop() remove e retorna o último item
print('Saiu', lista.pop(), ', faltam', len(lista))
Saída: Saiu H , faltam 2 Saiu G , faltam 1 Saiu F , faltam 0 As operações de ordenação (sort) e inversão (reverse) são realizadas na própria lista, não geram novas listas.

Obrigado

Até a próxima