O que é uma lista Python?
Uma lista é exatamente o que parece, um contêiner que contém diferentes objetos Python, que podem ser inteiros, palavras, valores, etc. É o equivalente a um array em outras linguagens de programação. É representado por colchetes (e este é um dos atributos que o diferencia das tuplas, que são separadas por parênteses). Também é mutável, ou seja, pode ser modificado ou atualizado; ao contrário das tuplas, que são imutáveis.
Neste tutorial de python, você aprenderá:
- O que é uma lista Python?
- Exemplos de listas Python:
- Acessando valores dentro de listas
- Fatiamento de lista
- Atualizando listas
- Excluindo elementos da lista
- Anexar elementos de lista
- Lista funções integradas (métodos)
- Looping pelas listas
- Compreensões de lista
Exemplos de listas Python:
As listas Python podem ser homogêneas, o que significa que podem conter o mesmo tipo de objetos; ou heterogêneo, incluindo diferentes tipos de objetos.
Exemplos de listas homogêneas incluem:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Exemplos de listas heterogêneas incluem:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Acessando valores dentro de listas
Para acessar valores dentro das listas, o índice dos objetos dentro das listas pode ser usado. Um índice nas listas Python se refere à posição de um elemento em uma lista ordenada. Por exemplo:
list = [3, 22, 30, 5.3, 20]
- O primeiro valor da lista acima, 3, tem um índice de 0
- O segundo valor, 22, tem um índice de 1
- O terceiro valor, 30, tem um índice de 2
e assim por diante. Para acessar cada um dos valores da lista, você usaria:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
O último membro de uma lista também pode ser acessado usando o índice -1. Por exemplo,
list[-1] = 20
Fatiamento de lista
O fatiamento de lista é o método de divisão de um subconjunto de uma lista, e os índices dos objetos de lista também são usados para isso. Por exemplo, usando o mesmo exemplo de lista acima;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
As listas Python são exclusivas de limite superior e isso significa que o último índice durante a divisão da lista geralmente é ignorado. Por isso
list[2:-1] = [30, 5.3], e não [30, 5.3, 20]. O mesmo vale para todos os outros exemplos de divisão de lista fornecidos acima.
Atualizando listas
Digamos que você tenha uma lista = [física, química, matemática] e deseja alterar a lista para [biologia, química, matemática], alterando efetivamente o membro no índice 0. Isso pode ser feito facilmente atribuindo esse índice ao novo membro que você deseja.
Aquilo é,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Produto: [biologia, química, matemática]
Isso substitui o membro no índice 0 (física) pelo novo valor que você deseja (química). Isso pode ser feito para qualquer membro ou subconjunto da lista que você deseja alterar.
Para dar outro exemplo; digamos que você tenha uma lista chamada inteiros e contendo os números [2, 5, 9, 20, 27]. Para substituir 5 nessa lista por 10, você pode fazer isso com:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Para substituir o último membro da lista de inteiros, que é 27, por um número livre como 30,5, você usaria:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Excluindo elementos da lista
Existem 3 métodos Python para excluir elementos da lista: list.remove (), list.pop () e operador del. O método Remove usa o elemento específico a ser removido como argumento, enquanto pop e del usam o índice do elemento a ser removido como argumento. Por exemplo:
lista = [3, 5, 7, 8, 9, 20]
Para excluir 3 (o primeiro elemento) da lista, você pode usar:
- list.remove (3) ou
- list.pop [0], ou
- del list [0]
Para excluir 8, o item no índice 3, da lista, você pode usar:
- list.remove (8), ou
- list.pop [3]
Anexar elementos de lista
Para anexar elementos a uma lista, o método append é usado, e isso adiciona o elemento ao final da lista.
Por exemplo:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Lista funções integradas (métodos)
A seguir está uma lista de funções e métodos integrados à lista com suas descrições:
- len (lista): fornece o comprimento da lista como saída. Por exemplo:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (lista): retorna o item na lista com o valor máximo. Por exemplo:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (lista): retorna o item da lista com o valor mínimo. Por exemplo:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- lista (tupla): converte um objeto de tupla em uma lista. Por exemplo;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): anexa o elemento à lista. Por exemplo;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (índice): remove o elemento no índice especificado da lista. Por exemplo;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (elemento): exclui o elemento da lista.Por exemplo;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): inverte os objetos da lista. Por exemplo;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (elemento): para obter o valor do índice de um elemento da lista. Por exemplo;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- soma (lista): para obter a soma de todos os valores da lista, se os valores forem todos números (inteiros ou decimais). Por exemplo;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Se a lista contiver qualquer elemento que não seja um número, como uma string, o método de soma não funcionará. Você obteria um erro dizendo: " TypeError : tipo (s) de operando não suportado (s) para +: 'int' e 'str'"
- list.sort (): para organizar uma lista de inteiros, números de ponto flutuante ou strings, em ordem crescente ou decrescente. Por exemplo:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Outro exemplo:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Uma lista de strings também pode ser classificada em ordem alfabética ou por comprimento das strings. Por exemplo;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
Podemos classificar a mesma lista em ordem alfabética usando 'strings.
Looping pelas listas
O loop nas listas pode ser feito da mesma maneira que qualquer outra função de loop no Python. Dessa forma, um método pode ser executado em vários elementos de uma lista ao mesmo tempo. Por exemplo:
lista = [10, 20, 30, 40, 50, 60, 70].
Para percorrer todos os elementos desta lista, digamos, adicione 10 a cada elemento:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Para percorrer os três primeiros elementos da lista e excluir todos eles;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Para fazer um loop do terceiro (índice 2) até o último elemento da lista e anexá-los a uma nova lista chamada new_list:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
Dessa forma, qualquer método ou função pode ser aplicado aos membros de uma lista para executar uma operação específica. Você pode percorrer todos os membros da lista ou percorrer um subconjunto da lista usando a divisão de lista.
Compreensões de lista
Compreensões de lista são funções Python usadas para criar novas sequências (como listas, dicionários, etc.) usando sequências que já foram criadas. Eles ajudam a reduzir loops mais longos e tornam seu código mais fácil de ler e manter.
Por exemplo; digamos que você queira criar uma lista que contenha os quadrados de todos os números de 1 a 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Para fazer a mesma coisa com as compreensões de lista:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Como visto acima, escrever o código usando compreensões de lista é muito mais curto do que usar os loops for tradicionais e também é mais rápido. Este é apenas um exemplo do uso de compreensões de lista no lugar de loops for, mas isso pode ser replicado e usado em muitos lugares onde loops for também podem ser usados. Às vezes, usar um loop for é a melhor opção, especialmente se o código for complexo, mas em muitos casos, as compreensões de lista tornarão sua codificação mais fácil e rápida.
Abaixo está uma tabela contendo algumas funções e métodos de lista e suas descrições.
Funções integradas
FUNÇÃO | DESCRIÇÃO |
Redondo() | Arredonda o número passado como argumento para um determinado número de dígitos e retorna o valor do ponto flutuante |
Min () | retorna o elemento mínimo de uma determinada lista |
Max () | retorna o elemento máximo de uma determinada lista |
len () | Retorna o comprimento da lista |
Enumerar() | Esta função embutida gera valores e índices de itens em um iterável, então não precisamos contar manualmente |
Filtro() | testa se cada elemento de uma lista é verdadeiro ou não |
Lambda | Uma expressão que pode aparecer em lugares onde um def (para criar funções) não é sintático, dentro de um literal de lista ou de argumentos de chamada de uma função |
Mapa() | retorna uma lista dos resultados após aplicar a função dada a cada item de um determinado iterável |
Acumular() | aplicar uma função específica passada em seu argumento a todos os elementos da lista retorna uma lista contendo os resultados intermediários |
Soma() | Retorna a soma de todos os números da lista |
Cmp () | É usado para comparar duas listas e retorna 1 se a primeira lista for maior que a segunda. |
Inserir | Insira o elemento para listar em uma posição particular |
Métodos de lista
FUNÇÃO | DESCRIÇÃO |
Acrescentar() | Adiciona um novo item ao final da lista |
Claro() | Remove todos os itens da lista |
Cópia de() | Retorna uma cópia da lista original |
Ampliar() | Adicione muitos itens ao final da lista |
Contar() | Retorna o número de ocorrências de um item específico em uma lista |
Índice() | Retorna o índice de um elemento específico de uma lista |
Pop () | Exclui o item da lista em um índice específico (exclui por posição) |
Retirar() | Exclui o item especificado da lista (exclui por valor) |
Marcha ré() | Método de reversão no local que inverte a ordem dos elementos da lista |
Resumo
- Uma lista é exatamente o que parece, um contêiner que contém diferentes objetos Python, que podem ser inteiros, palavras, valores etc.
- As listas Python podem ser homogêneas, o que significa que podem conter o mesmo tipo de objetos; ou heterogêneo, contendo diferentes tipos de objetos.
- Para acessar valores dentro das listas, o índice dos objetos dentro das listas pode ser usado.
- O fatiamento de lista é o método de divisão de um subconjunto de uma lista, e os índices dos objetos de lista também são usados para isso.
- Três métodos para excluir elementos da lista são: 1) list.remove (), 2) list.pop () e 3) operador del
- O método Append é usado para acrescentar elementos. Isso adiciona o elemento ao final da lista.
- O método de loop do programa Python pode ser executado em vários elementos de uma lista de dados ao mesmo tempo.
- Compreensões de lista são funções Python usadas para criar novas sequências (como listas, dicionários, etc.) usando sequências que já foram criadas.