O tipo de dado List consiste em um array dinâmico possuindo métodos para inserção, remoção, acesso e outros. Nesta parte inicial vamos aprender algumas operações básicas e mais adiante os métodos nativos.

Algumas características

  1. Dinâmico
  2. Não ordenado
  3. Acesso randômico a elementos
  4. Permite elementos repetidos

Nesta parte inicial vamos aprender algumas operações básicas e mais adiante os métodos nativos.

O tipo de dado List tem sua instanciação feita de acordo com a sintaxe abaixo:

Sintaxe
nome_variavel = [] # vazia
nome_variavel = [elemento1,elemento2,elementoN]
Onde
-

A tipo de dado List aceita elementos heterogêneos durante sua inicialização.

Exemplo 1
lista = [1,True,"String",'A',1.99]

print(lista)
Saída
[1, True, 'String', 'A', 1.99]

Novos elementos podem ser adicionados em uma List, em seu fim ou em uma posição determinada, com os métodos append e insert. O primeiro adiciona um elemento no fim da List e o segundo um uma determinada posição passada como argumento.

Sintaxe
append(object)
insert(pos, object)
Onde
pos: posição para inserção
object: valor ou objeto para adição
Exemplo 2
lista = [1,True,"String",'A',1.99]

print(lista)
lista.append(888)
print(lista)
lista.insert(0,999)
print(lista)
Saída
[1, True, 'String', 'A', 1.99]
[1, True, 'String', 'A', 1.99, 888]
[999, 1, True, 'String', 'A', 1.99, 888]

Para ter acesso a um elemento de um List, utilizamos o indexador [] que recebe uma posição ou índice como argumento.

Sintaxe
variavel_list[posicao]
Onde
posicao: Posição ou índice do elemento desejado.
Exemplo 3
lista = [1,True,"String",'A',1.99]

print(lista[0])
print(lista[2])
Saída
1
String

Para alterarmos o valor de um elemento em uma List, utilizamos o o indexador [] que recebe uma posição ou índice tendo um novo valor atribuído utilizando o operador (=).

Sintaxe
variavel_list[posicao] = valor
Onde
posicao: Posição ou índice do elemento desejado.
valor: novo valor para atualização/alteração
Exemplo 4
lista = [1,True,"String",'A',1.99]

print(lista)
lista[1] = False 
print(lista)
Saída
[1, True, 'String', 'A', 1.99]
[1, False, 'String', 'A', 1.99]

Para removermos elementos de uma List, utilizamos os métodos remove e pop como mostrado na sintaxe abaixo. O primeiro remove um a primeira ocorrência de um elemento e o segundo remove um elemento baseado em um índice.

Sintaxe
lista.pop(pos)
lista.remove(el)
Onde
posi: índice do elemento para remoção
el: elemento para remoção
Exemplo 4
lista = [1,True,"String",'A',1.99]

print(lista)
lista.remove(1) 
print(lista)
print(lista.pop(3))
print(lista)
Saída
[1, True, 'String', 'A', 1.99]
[True, 'String', 'A', 1.99]
1.99
[True, 'String', 'A']

Para termos conhecimento do número de elementos contido em uma List, utilizamos a função len que retorna um inteiro contendo o número de elementos.

Sintaxe
len(object)
Exemplo 5
lista = [1,True,"String",'A',1.99]

print(len(lista))
Saída
5

Para percorrermos um List, utilizamos o comando for-in. Esse comando foi visto em Python: Comandos de Repetição.

Exemplo 6
lista = [1,True,"String",'A',1.99]

for el in lista:
    print(el,end=" ")
Saída
1 True String A 1.99 

A utilização do tipo de dado List como parâmetro, de um método ou função, é feita de forma semelhante a qualquer outro tipo de dados como foi visto em Python: Função bastando informar o argumento do tipo List.

Como a List se trata de uma objeto, a passagem á feita por referência o que torna as alterações feitas internamente em uma função permanentes.

Sintaxe
def nome_funcao(parametro_lista):
  #corpo
Onde
-
Exemplo 7
lista = [1,True,"String",'A',1.99]

def funcao(l):
    for el in lista:
        print(el,end=" ")
    lista[0] = 999
    return l;
    
funcao(lista)
print()
print(lista)
Saída
1 True String A 1.99 
[999, True, 'String', 'A', 1.99]

A tipo List fornece métodos para manipular seus dados. Abaixo uma lista de todos os métodos.

Método Descrição Link
append Insere um elemento no fim Visitar
clear Remove todos os elementos Visitar
copy Retorna uma cópia Visitar
count Retorno número de elementos baseado em valor Visitar
extend Insere uma List no fim Visitar
index Retorno o elemento da list contido em um índice Visitar
insert Insere um elemento em uma determinada posição Visitar
pop Remove um elemento de uma determinada posição Visitar
remove Remove o primeiro elemento baseado em um valor Visitar
reverse Inverte a ordem dos elementos Visitar
sort Ordena os elemento de forma ascedente ou descendente Visitar

Com o método append podemos adicionar um novo elemento ao fim de uma List.

Sintaxe
variavel_list.append(object)
Onde
object: elemento para adicionar
Retorno
None
Exception
-
Exemplo
lista = [1,True,"String",'A',1.99]

print(lista)
lista.append(-999)
print(lista)
Saída
[1, True, 'String', 'A', 1.99]
[1, True, 'String', 'A', 1.99, -999]

Com o método clear podemos remover todos os elementos contidos em uma List.

Sintaxe
variavel_list.clear()
Onde
-
Retorno
None
Exemplo
lista = [1,True,"String",'A',1.99]

print(lista)
lista.clear()
print(lista)
Saída
[1, True, 'String', 'A', 1.99]
[]

Utilizando o método copy, podemos realizar a cópia de todos os elementos de uma List.

Sintaxe
variavel_list.copy()
Onde
-
Retorno
None
Exemplo
lista = [1,True,"String",'A',1.99]

print(lista)
lista2 = lista.copy()
print(lista2)
Saída
[1, True, 'String', 'A', 1.99]
[1, True, 'String', 'A', 1.99]

O método count retorno o número de vezes que um elemento ou valor se repete em uma List.

Sintaxe
variavel_list.count(value)
Onde
valor: valor do elemento
Retorno
Int contendo o número de repetições
Exemplo
lista = [1,0xff,"String",'A',1.99,1]

print(lista.count(1))
Saída
2

Com o método extend podemos adicionar uma List ao fim de outra List que é passada como argumento.

Sintaxe
variavel_list.extend(iterable)
Onde
iterable: estrutura de dados iterável para adicionar
Retorno
None
Exception
-
Exemplo
lista = [1,0xff,"String"]
lista2 = ['A',1.99,1]

print(lista)
lista.extend(lista2)
print(lista)
Saída
 
[1, 255, 'String']
[1, 255, 'String', 'A', 1.99, 1]

Com o método index podemos recuperar o índice de um elemento cujo seu valor que é passado como argumento para o método.

Sintaxe
variavel_list.index(object)
Onde
object: valor do elemento
Retorno
int contendo o índice de object
Exception
-
Exemplo
lista = [1,0xff,"String", 'Z']

print(lista)
print(lista.index('Z'))
Saída
 
(1, True, 'String', 'A', 1.99, 'Z')
3

Utilizando o método insert podemos inserir/alterar um valor em uma determinada posição, que é passada como argumento, da List.

Sintaxe
variavel_list.insert(pos,object)
Onde
pos: posição para adicionar valor
object: valor para adicionar
Retorno
None
Exemplo
lista = [1,0xff,"String"]

print(lista)
lista.insert(0,999)
print(lista)
Saída
[1, 255, 'String']
[999, 1, 255, 'String']

O método pop é utilizados remover um elemento de uma determinada posição de um List. Essa posição é passsado como argumento para o método.

Sintaxe
variavel_list.pop(pos)
Onde
-
Retorno
None
Exemplo
lista = [1,0xff,"String",2,3,4]

print(lista)
lista.pop(0)
print(lista)
Saída
[1, 255, 'String', 2, 3, 4]
[255, 'String', 2, 3, 4]

O método remove é utilizados remover a primeira ocorrência de um elemento baseado em seu valor que é passado como argumento.

Sintaxe
variavel_list.remove(object)
Onde
object: valor do elemento para remoção
Retorno
None
Exemplo
lista = [1,0xff,"String",1,2,3,4]

print(lista)
lista.remove(1)
print(lista)
Saída
[1, 255, 'String', 1, 2, 3, 4]
[255, 'String', 1, 2, 3, 4]

Com o método reverse podemos inverter a ordem dos elementos contidos em uma List. Esse método não recebe argumentos e manipula a própria List.

Sintaxe
variavel_list.reverse()
Onde
-
Retorno
None
Exemplo
lista = [1,0xff,"String",1,2,3,4]

print(lista)
lista.reverse()
print(lista)
Saída
[1, 255, 'String', 1, 2, 3, 4]
[4, 3, 2, 1, 'String', 255, 1]

Com o método sort podemos ordenar os elementos de uma List em ordem crescente e decrescente. Essas ordens são informados por argumentos.

Sintaxe
variavel_list.sort(reverse=True|False, key=myFunc)
Onde
reverse: False, ordem crescente. True, descrescente
myFunc: função customizada de ordenação
Retorno
None
Exemplo
lista = [4,1,3,2]

print(lista)
lista.sort(reverse=True)
print(lista)
lista.sort(reverse=False)
print(lista)
Saída
[4, 1, 3, 2]
[4, 3, 2, 1]
[1, 2, 3, 4]
  1. 19/09/2024 - revisão 1 - Correção em Ex. de 'Index', retorno 'Sort'; Ajustes gramaticais pontuais; outros ajustes
  2. 14/02/2024 - versão inicial