Python Compreensão de lista, acréscimo, classificação, comprimento [EXEMPLOS]
O que é uma Python Lista?
Uma lista é exatamente o que parece, um contêiner que contém diferentes Python objetos, 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; diferentemente das tuplas, que são imutáveis.
Exemplos de Python listas:
Python listas podem ser homogêneas, o que significa que podem conter o mesmo tipo de objetos; ou heterogêneas, 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 em listas
Para acessar valores dentro de listas, pode-se usar o índice dos objetos dentro das listas. Um índice em Python listas 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
Python Fatiamento de lista
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).
Python as listas 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 Python métodos para excluir elementos de lista: list.remove(), list.pop() e operador del. O método remove pega 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ê 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)
A seguir está 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ões de lista Python
As compreensões da lista são Python funções que são 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 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 complexo, 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) |
Reverse() | 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 Python objetos, que podem ser inteiros, palavras, valores, etc.
- Python as listas podem ser homogêneas, significa que podem conter o mesmo tipo de objetos; ou heterogêneo, 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.
- Método de loop de Python O programa pode ser executado em vários elementos de uma lista de dados ao mesmo tempo.
- As compreensões da lista são Python funções que são usadas para criar novas sequências (como listas, dicionários, etc.) usando sequências que já foram criadas.