Lista Python: Compreensão, Apend, Classificar, Comprimento, Reverter EXEMPLOS

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á:

Exemplos de listas Python:

As listas Python podem ser homogêneas, o que significa que podem conter o mesmo tipo de objetos; ou heterogêneos, 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 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 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[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 que

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.

Ou seja,

 list = [physics, chemistry, mathematics] list[0] = biology print(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] = 10 print(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.5 print(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 leva o elemento específico a ser removido como um argumento, enquanto pop e del pegam o índice do elemento a ser removido como um 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
  • da lista [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:

  • apenas (lista): isso dá 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 (elemento): 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 elements strings = ['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 e, digamos, adicionar 10 a cada elemento:

 for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75 

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 percorrer os 3rd(índice 2) ao último elemento da lista e acrescente-os 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 ** 2 list_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 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ÇÃODESCRIÇÃO
Volta()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
LambdaUma 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 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.
InserirInsira o elemento para listar em uma posição particular

Métodos de lista

FUNÇÃODESCRIÇÃ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 um item da lista em um índice específico (exclui por posição)
Retirar()Exclui o item especificado da lista (exclui por valor)
Reverter()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.