Compreensão de lista Python, Apend, Classificação, Comprimento [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 um quadrado brackets (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.

Exemplos de listas Python:

Listas Python podem ser homogêneasneonós, o que significa que eles podem conter o mesmo tipo de objetos; ou heterogêneoneonós, incluindo diferentes tipos de objetos.

Exemplos de homogêneoneonossas listas 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 heterogêneoneonossas listas incluem:

[2, 'cat', 34.33, 'Travis']
[2.22, 33, 'pen']

Acessando valores em listas

Para acessar valores dentro de listas, pode-se usar o índice dos objetos dentro das listas. Um índice em listas Python refere-se à 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 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 Python

O fatiamento de lista é o método de divisão de um subconjunto de uma lista, e os índices dos objetos da 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 o fatiamento da lista geralmente é ignorado. Por isso

list[2:-1] = [30, 5.3]

, e não [30, 5.3, 20]. O mesmo se aplica a 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 queira 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.

Isto é,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

Resultado: [biologia, química, matemática]

Isso substitui o membro no índice 0 (física) pelo novo valor desejado (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 de lista: list.remove(), list.pop() e del operador. O método Remove leva o elemento específico a ser removido como argumento, enquanto pop e del pegam 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ê poderia usar:

  • lista.remove(3) ou
  • lista.pop[0], ou
  • da lista[0]

Para excluir 8, o item do índice 3, da lista, você poderia usar:

  • lista.remove(8), ou
  • lista.pop[3]

Anexando elementos da lista

Para acrescentar elementos a uma lista, o método append é usado e 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"]

Listar funções integradas (métodos)

O seguintewing é uma lista de funções e métodos integrados com suas descrições:

  • len(lista): isso fornece o comprimento da lista como saída. Por exemplo:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • máximo(lista): retorna o item da 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 tupla em uma lista. Por exemplo;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
  • lista.append(elemento): anexa o elemento à lista. Por exemplo;
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • lista.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]
  • lista.remover(elemento): exclui o elemento da lista. Por exemplo;
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • lista.reverso(): inverte os objetos da lista. Por exemplo;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • lista.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 sum não funcionaria. Você receberia um erro dizendo: “Erro de tipo: tipos de operandos não suportados 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.

Percorrendo listas

O loop pelas listas pode ser feito da mesma maneira que qualquer outra função de loop em 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 + 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 anexe-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]

Desta forma, qualquer método ou função pode ser aplicado aos membros de uma lista para realizar uma operação específica. Você pode percorrer todos os membros da lista ou percorrer um subconjunto da lista usando o fatiamento da lista.

Compreensão de lista Python

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 o squares 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 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 loops for tradicionais e também é mais rápido. Este é apenas um exemplo de 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 complex, mas em muitos casos, a compreensão da lista tornará 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 incorporadas

FUNÇÃO DESCRIÇÃO
Rodada () Arredonda o número passado como argumento para um número especificado de dígitos e retorna o valor de ponto flutuante
min() retornar o elemento mínimo de uma determinada lista
max() retornar o elemento máximo de uma determinada lista
len () Retorna o comprimento da lista
Enumerar() Esta função integrada gera os valores e os índices dos itens de forma iterável, portanto, 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 locais onde um def (para criar funções) não é sintático, dentro de uma lista literal ou nos 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() Isto é usado para comparar duas listas e retorna 1 se a primeira lista for maior que a segunda lista.
inserção Inserir elemento para listar em posição específica

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 item da lista em determinado índice (excluir por posição)
Remover() Exclui o item especificado da lista (excluir 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.
  • Python listas podem ser homogêneasneonós, significa que eles podem conter o mesmo tipo de objetos; ou heterogêneoneonós, contendo diferentes tipos de objetos.
  • Para acessar valores dentro de listas, pode-se usar o índice dos objetos dentro das listas.
  • O fatiamento de lista é o método de divisão de um subconjunto de uma lista, e os índices dos objetos da 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 anexar 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.