common python list methods with syntax
O tutorial explica a sintaxe e o uso de métodos de lista comuns do Python, como adicionar à lista, classificar lista, pop, anexar, copiar, remover, reverter etc .:
As listas Python não são usadas apenas para armazenar dados. Existem estruturas de dados poderosas, se usadas corretamente. No entanto, não podemos usá-los de forma eficaz se não conhecermos seus métodos.
Embora o Python tenha algumas funções integradas que podem operar em listas, as listas Python têm métodos que podem ser usados para operar em seu objeto de lista tanto no local quanto fora do local.
=> Verifique TODOS os tutoriais de Python aqui
O que você aprenderá:
- Métodos comuns de lista Python
- Conclusão
Métodos comuns de lista Python
Antes de nos aprofundarmos nos métodos de lista comuns, é importante entender algumas características de uma lista Python.
- Uma lista Python é uma coleção de zero a infinito (tantos quanto o seu computador pode permitir) tipos de dados ( números , Cordas , booleanos , tuplas , listas , etc) entre colchetes com cada item separado por uma vírgula (,).
- Uma lista Python é um ordenou , mutável seqüência e usa o numeração baseada em zero sistema, ou seja, todos os seus itens são identificados exclusivamente por um número de índice que começa em 0 e termina em n-1, onde n é o comprimento da lista.
Com isso em mente, podemos analisar com segurança os métodos de lista do Python. É importante saber que a lista Python tem muitos métodos e o Python tem muitos métodos integrados para trabalhar em dados de lista para vários fins.
Observação :Seguindo em frente, todos os exemplos neste tutorial serão executados diretamente a partir de um shell Python, a menos que indicado de outra forma.
Método para adição
Antes de começar a realizar uma operação em uma lista, podemos primeiro adicionar dados a ela. A lista Python possui os seguintes métodos comuns para adicionar itens à sua lista.
# 1) list.append (x)
O acrescentar O método () pega um item como um argumento e o adiciona no final da lista.
Como visto acima, as listas Python são ordenadas. Portanto, a posição de cada item em uma lista é importante. Se estamos adicionando um item a uma lista e queremos que ele seja o último item dessa lista, então append () é o que precisamos.
Exemplo 1 :No código abaixo, nossa lista contém um nome (String) como o primeiro item e idade (número) como o segundo item. Queremos adicionar um terceiro item salário (número) à lista de tal forma que temos
list(name, age, salary)
Abaixo está uma explicação passo a passo de um shell Python.
>>> name = 'Enow Kevin' # define a name >>> age = 30 # define an age >>> details = (name, age) # create a list with name and age >>> details ('Enow Kevin', 30) >>> salary = 165000 # define a salary >>> details.append(salary) # add the salary to the end of the list >>> details ('Enow Kevin', 30, 165000) >>>
list.append (x ) é similar a para (len ( para ):) = (x).
Considere o exemplo abaixo:
Vamos adicionar um quarto item Gênero sexual (String) para nossa lista de detalhes definida acima.
>>> gender = 'Male' # define a gender >>> details(len(details):) = (gender) # add gender to the end of the list >>> details ('Enow Kevin', 30, 165000, 'Male') >>>
Observação :No exemplo acima, usamos len () que é uma função integrada do Python que pode operar em uma lista.
# 2) list.extend (iterável)
ampliar (iterável) leva em um iterável como um argumento e anexe cada item desse iterável à lista.
Este método usa acrescentar( ) sob o capô. Esse método é ótimo se tivermos uma coleção de itens que desejamos anexar a cada item em outra lista.
Exemplo 2 :Digamos que temos duas notas acadêmicas do aluno gradeScience e gradeArt e decidimos realizar uma operação comum nas notas. Uma maneira será juntá-los primeiro.
Dada a seguir é um passo a passo de um shell Python.
>>> gradeScience = (4,3,9,10) # grades in science >>> gradeArt = (9,11,7,5) # grades in art >>> gradeArt (9, 11, 7, 5) >>> gradeArt.extend(gradeScience) # join grades >>> gradeArt # we can now perform the operation on the joined grades (9, 11, 7, 5, 4, 3, 9, 10)
A mesma coisa pode ser alcançada com “ acrescentar() em um ciclo' . Dado que o ampliar () método pega um iterável e adiciona cada item desse iterável na lista, podemos usar um para loop para demonstrar como isso funciona.
def extend_loop(extender, extended): '''for each item in the extender list, append the item into the extended list''' for item in extender: extended.append(item) if __name__ == '__main__': gradeScience = (4,3,9,10) # grades in science gradeArt = (9,11,7,5) # grades in art print('gradeArt: {} before extended'.format(gradeArt)) # join gradeScience and gradeArt into gradeArt extend_loop(gradeScience, gradeArt) print('gradeArt: {} after extended'.format(gradeArt))
Resultado
É importante saber a diferença entre anexar (x ) e extend (iterável) .
Diferença entre os métodos de lista do Python: append e iterable.
# | anexar (x) | extend (iterável) |
---|---|---|
1 | Aceita um argumento e pode ser iterável | Aceita um argumento e deve ser iterável |
dois | Adiciona um item a uma lista | Adiciona cada item do iterável a uma lista. |
Exemplo 3 :Para ver claramente a diferença entre anexar e estender, vamos considerar este exemplo. Notamos que ambos listApp e listExt aceita um iterável como argumento, mas o que muda é a saída.
>>> listApp = () # empty list >>> listExt = () # empty list >>> listApp.append((1,2,3)) # append an iterable >>> listExt.extend((1,2,3)) # extend an iterable >>> listApp # check output ((1, 2, 3)) >>> listExt # check output (1, 2, 3)
Método Python acrescentar() pegou o iterável, considerou-o como um item e adicionou-o ao final da lista enquanto o método Python ampliar() pegou o iterável e adicionou cada item desse iterável à lista.
# 3) list.insert (i, x)
O método de lista Python inserir () recebe dois argumentos (posição, item) e insere o item na posição fornecida na lista.
O método inserir () é útil quando queremos adicionar itens a uma lista e temos controle sobre onde exatamente queremos que os itens sejam adicionados à lista. diferente acrescentar() e ampliar() que adicionam itens no final de uma lista, inserir () nos permite adicionar itens em qualquer posição que quisermos.
Exemplo 4 :Digamos que temos uma lista de nomes em ordem de excelência e depois descobrimos que omitimos um nome e o nome deve ser adicionado à lista antes de um determinado nome. Neste caso, ambos acrescentar() e ampliar() não vai ajudar, pois queremos adicionar o item em uma determinada posição.
A solução será obter a posição do índice do nome antes da qual queremos adicionar nosso novo nome e usar inserir() para adicioná-lo nessa posição.
>>> names = ('kevin','john','petter','tony','luke','andrew')# list of names >>> new_name = 'enow' # new name to be insert into the list of names >>> given_name = 'tony' # name before which to insert our new name >>> idx_given_name = names.index(given_name) # get index of given name >>> idx_given_name 3 >>> names.insert(idx_given_name, new_name) # insert new name >>> names ('kevin', 'john', 'petter', 'enow', 'tony', 'luke', 'andrew')
Observação: No exemplo acima, usamos o método de lista do Python índice () para obter a posição de índice de um item de uma lista ( mais sobre isso depois )
O conceito de inserir (índice, x) é muito importante entender. O primeiro argumento é o posição do índice do elemento antes do qual inserir.
O que significa que Lista .insert (0, x) irá inserir x na frente do item no índice 0, e Lista . inserir (só ( Lista ), x ) irá inserir x no final da lista (semelhante a list.append (x)) antes da posição no índice len (lista) (este índice não existe para nenhuma lista)
Método para subtração
No Python, por mais que possamos adicionar itens a uma lista, as listas Python também nos permitem remover ou excluir itens das listas.
# 1) list.pop ((i))
O pop () método remove e retorna um item de uma lista. Este método pode ter um valor de índice opcional como um argumento (representado pelo colchete em torno de i na assinatura do método que denota 'opcional' e não uma lista), que denota a posição do índice de onde remover um item.
Se nenhum for fornecido, o padrão é -1, ou seja, o último item da lista será removido e devolvido.
Exemplo 5 :Dada a lista de carros abaixo, podemos decidir remover itens desta lista em qualquer posição do índice que desejarmos, graças a pop ()
>>> cars = ('Toyota','Audi','BMW','Bugatti','Bently','Aston Martin') #cars >>> cars ('Toyota', 'Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota = cars.pop(0) # remove and return car at index 0 >>> cars ('Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota 'Toyota' >>> bugatti = cars.pop(2) # remove and return car at index 2 >>> cars ('Audi', 'BMW', 'Bently', 'Aston Martin') >>> bugatti 'Bugatti' >>> aston_martin = cars.pop() # remove and return the last car in the list(at index -1) >>> cars ('Audi', 'BMW', 'Bently') >>> aston_martin 'Aston Martin'
# 2) list.remove (x)
O método de lista Python remover (x) remove a primeira ocorrência de um item que é igual a x.
O método retirar() é útil quando queremos remover um item de uma lista, mas não nos importamos com o item e não sabemos onde exatamente ele está posicionado na lista.
Exemplo 6 :Temos uma lista de livros e queremos remover um livro específico pelo nome da lista, pois não precisamos mais dele.
>>> books = ('python for beginners','python in a nutshell','python in action') # list of books >>> books ('python for beginners', 'python in a nutshell', 'python in action') >>> book_to_remove = 'python in a nutshell' # book to be removed >>> books.remove(book_to_remove) # remove book >>> books ('python for beginners', 'python in action')
Observação: Se um item é dado a retirar() como um argumento, mas não existe na lista, um ValueError é gerado. Portanto, este método deve sempre ser chamado dentro de um tentar exceto para lidar com a exceção.
Podemos ver algumas diferenças entre os métodos pop () e retirar() como mostrado abaixo:
# | pop () | retirar() |
---|---|---|
1 | Aceita um argumento opcional e deve ser uma posição de índice do item a ser removido. Se o índice estiver fora do intervalo, um IndexError é gerado | Aceita um argumento e deve ser o item a ser removido. Se o item não estiver na lista, um ValueError é gerado |
dois | Remove o item da lista e o retorna. | Remove o item da lista, mas não o devolve. |
# 3) list.clear ()
Método de lista Python Claro () remove todos os itens da lista, tornando-a vazia. Não requer argumentos.
Este método é útil para reatribuir o objeto de lista com novos valores.
Exemplo 7 :Temos uma lista que contém uma coleção de nomes, mas queremos substituir os nomes por novos nomes. Nesse caso, primeiro limpamos os nomes anteriores tornando o objeto de lista vazio e, em seguida, adicionamos nossos novos nomes com um dos diferentes métodos de lista do Python para uma adição que vimos acima.
>>> names = ('enow','kevin','eyong') # our collection of names >>> names.clear() # clear the list object >>> names () >>> names.extend(('ayamba','derrick','fred')) # add new names with the extend() method >>> names ('ayamba', 'derrick', 'fred')
Observação :Podemos conseguir a mesma coisa com de Lista(:).
Muitos podem dizer que, em vez de usar Claro (), por que não apenas reatribuímos a lista com uma lista vazia como esta
>>> a = (4,5,3) # list object containing numbers >>> a= () # re-assign to an empty list >>> a ()
Bem, aqui está o problema em fazer isso. Se você tiver duas variáveis ( para e b ) que faz referência a um objeto de lista ((4,5,3)), chamando clear () em qualquer uma das variáveis (digamos para ) removerá itens desse objeto de lista referenciado.
No entanto, se você reatribuir qualquer uma das variáveis (digamos para ) com uma lista vazia, então aquela que foi reatribuída ( para ) não fará mais referência ao mesmo objeto de lista que b .
>>> a = (4,5,3) # define a list object with numbers >>> b = a # assign 'a' to a new variable 'b' >>> b (4, 5, 3) >>> a = () # re-assign 'a' to an empty list. This changes its referenced object >>> a () >>> b # 'b' doesn't change because it doesn't reference the same list object as 'a' (4, 5, 3)
Métodos de análise
Na maioria das vezes, queremos saber e compreender os itens em nosso objeto de lista. A lista Python tem alguns métodos que podemos usar para entender seus itens.
# 1) list.index (x (, início (, fim)))
O método de lista Python índice (x) retorna um índice baseado em zero na lista do primeiro item cujo valor é igual a x. Leva um argumento obrigatório e dois opcionais. O primeiro argumento (x) representa o item que desejamos encontrar em seu índice.
como adicionar string a array de string
Os dois últimos argumentos (início, fim ) determinar um índice inicial e final (exclusivo) a partir do qual pesquisar. Ao contrário de outras linguagens de programação como JavaScript, onde seu método equivalente índice de () retorna -1 quando não existe tal item, o método de lista do Python índice () gera um ValueError em vez disso.
Exemplo 8 :Referência Exemplo 4 onde usamos índice () para obter a posição de índice de um nome em uma lista de nomes. Neste exemplo 8, veremos como usar os argumentos opcionais para limitar a pesquisa a uma subsequência particular da lista.
>>> fruits = ('Apples','Avocados','Eggfruit','Apples','Cantaloupe','Cucumbers') # list of fruits >>> fruits.index('Apples',1,3) # find index of 'Apples' from index 1 to index 3(exclusive) Traceback (most recent call last): File '', line 1, in ValueError: 'Apples' is not in list >>> fruits.index('Apples',1,4) # find index of 'Apples' from index 1 to index 4(exclusive) 3 >>> fruits.index('Cucumbers',3) # find index of 'Cucumbers' from index 3 to end of list. 5
# 2) list.count (x)
O método de lista Python contar (x) é usado para determinar quantas vezes um determinado item x aparece em uma lista.
diferente conjuntos () , As listas Python podem conter itens duplicados, se nos interessar saber sobre essas duplicatas e determinar quantas vezes um item é duplicado, então contar () é o caminho a percorrer.
Exemplo 9 : Digamos que temos um objeto de lista que contém os nomes dos senadores com base em seus votos. Quanto mais um senado é votado, mais seu nome aparece no objeto da lista. Agora, queremos saber quantos votos um determinado senado tem.
>>> senate_votes = ('Tammy','John','Tammy','Tammy','Thomas','Maria','Maria') # list of senate names based on their votes >>> senate_votes ('Tammy', 'John', 'Tammy', 'Tammy', 'Thomas', 'Maria', 'Maria') >>> tammy_votes = senate_votes.count('Tammy') # get tammy's vote count >>> tammy_votes 3 >>> thomas_votes = senate_votes.count('Thomas') # get thomas's vote count >>> thomas_votes 1 >>> mike_votes = senate_votes.count('Mike') # get mike's vote count >>> mike_votes 0
Observação :O método de lista Python contar () retorna zero (0) se o item não aparecer na lista.
# 3) list.sort (key = None, reverse = False)
O método de lista Python organizar () classifica os dados da lista no local. Aceita dois argumentos de palavra-chave.
- chave( o padrão é Nenhum ) : Especifica uma função de um argumento usado para extrair itens da lista e os prepara para comparação. Por exemplo, se tivermos uma lista de números positivos, mas quisermos que nossa função de classificação classifique seus valores negativos, podemos usar esta chave para fazer isso.
- marcha ré( o padrão é False ) : É um valor booleano e, se definido como True, será classificado em ordem decrescente. Seu valor é False por padrão, portanto, ele é classificado em ordem crescente.
Exemplo 10 :Temos uma lista de números e queremos saber o maior número dessa lista.
>>> numbers = (4,34,6,1,0, 9,33,82,2) # list of numbers >>> numbers (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_numb = numbers.copy() # make a copy to work with >>> sort_numb.sort(reverse=True) # sort in descending order >>> sort_numb (82, 34, 33, 9, 6, 4, 2, 1, 0) >>> sort_numb(0) # get the first item which is the largest number 82
Observação: Usamos o método de lista Python cópia de () para fazer uma cópia superficial de nossa lista ( Mais sobre isso mais tarde).
Exemplo 11: Para demonstrar o uso da chave, vamos classificar o valor negativo dos itens da lista.
>>> numbers # list of num (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb = numbers.copy() # make a copy to work with >>> sort_neg_numb (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb.sort(key=lambda x: -x, reverse=True) # sort in descending order the negative value of each item. >>> sort_neg_numb (0, 1, 2, 4, 6, 9, 33, 34, 82) >>>
A partir da saída acima, vemos que, embora tenhamos classificado em ordem decrescente, a saída está em ordem crescente. Isso ocorre porque nossa função lambda basicamente fez com que a comparação fosse feita nos valores negativos de cada item da lista.
Observação :Uma vez que a chave especifica a função de um argumento, usamos um expressão lambda para definir uma função anônima. Tudo o que ele faz é retornar o valor negativo de cada item da lista.
Outros métodos
Nesta seção, veremos alguns métodos de lista do Python que podem não se enquadrar em nenhuma das categorias descritas acima.
# 1) list.copy ()
O método Python cópia de () retorna um raso cópia da lista. Raso significa que faz uma cópia apenas do primeiro nível de uma lista ( mais sobre isso depois )
Este método é útil para manter os valores da lista original antes de modificar a lista. Como vimos em Exemplo 7 acima, simplesmente atribuir uma variável que faz referência a um objeto de lista a outra variável não cria um novo objeto. Em vez disso, as duas variáveis farão referência ao mesmo objeto.
Portanto, mudar um fará com que o outro mude.
Exemplo 12 :Exemplos de referência 10 e onze para ver como esse método foi usado.
Observação :É interessante saber que, o mesmo pode ser alcançado com fatiamento ( para (:))
Exemplo 13 :Para entender melhor o significado de raso na descrição de cópia de (), considere o exemplo abaixo.
>>> list1 = (1,2,3) # object list 1 >>> list2 = (0,list1) # object list 2 containing reference to list 1 >>> list2 (0, (1, 2, 3)) >>> list2_copy = list2.copy() # make a shallow copy of list 2 >>> list2_copy (0, (1, 2, 3)) >>> list2(0) = -1 # modify list 2's first level item >>> list2 (-1, (1, 2, 3)) >>> list2_copy # list 2's copy doesn't change (0, (1, 2, 3)) >>> list1(0) = 'a' # modify list 1 >>> list1 ('a', 2, 3) >>> list2 # list 2 changes since it has reference to list 1 (-1, ('a', 2, 3)) >>> list2_copy # list 2's copy changes because the nested list ‘list 1’ wasn't copied. (0, ('a', 2, 3)) >>>
O exemplo acima demonstra que a cópia superficial significa que qualquer iterável aninhado em uma lista não será copiado.
# 2) list.reverse ()
O método de lista Python marcha ré () inverte os itens de uma lista no local. Não requer nenhum argumento.
Este método é útil quando queremos alterar a ordem para crescente ou decrescente após a classificação.
Exemplo 14 :Classificamos nossa lista em ordem crescente e, posteriormente, queremos obter a ordem decrescente da lista classificada. Também podemos usar o método de lista do Python organizar () E definir marcha ré verdadeiro, ou podemos usar o marcha ré () listar o método conforme mostrado abaixo.
>>> numbs = (3,4,1,8,0,44,5) # our list of disordered numbers >>> numbs (3, 4, 1, 8, 0, 44, 5) >>> numbs.sort() # sort, in ascending by default >>> numbs (0, 1, 3, 4, 5, 8, 44) >>> numbs.reverse() # reverse to arrange in descending order >>> numbs (44, 8, 5, 4, 3, 1, 0) >>>
FAQs
P # 1) Como faço para remover algo de uma lista em Python?
Responda: Podemos remover itens de uma lista de várias maneiras usando os métodos de lista do Python e a função interna del do Python.
- Remover usando list.remove (x) : Isso removerá o item x da lista.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a (4, 3, 6, 1) >>> a.remove(3) # remove item '3' from the list >>> a (4, 6, 1) >>>
- Remover usando list.pop ((i)) : Isso é usado para excluir e retornar um item em qualquer posição na lista. Se uma posição de índice não for fornecida, ele exclui o item no final da lista.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a.pop() # remove the last item in the list 1 >>> a (4, 3, 6) >>> a.pop(1) # remove the item at index position 1 3 >>> a (4, 6) >>>
- Remover usando list.clear () : Isso removerá todos os itens da lista.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> a.clear() # delete all items >>> a ()
- Remover usando de : A função interna del Python pode ser usada para excluir itens da lista.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> del a(0) # delete item at index 0 >>> a (3, 6, 1) >>> del a(1) # delete item at index 1 >>> a (3, 1) >>> del a(:) # delete all items. Same as clear() >>> a () >>>
P # 2) Como você classifica uma lista em Python?
Responda: Para classificar listas em Python, podemos usar o método de lista Python organizar (). Este método classifica a lista no local e leva em dois argumentos de palavra-chave chave e marcha ré .
O marcha ré A palavra-chave pode ser definida para classificar em ordem crescente ou decrescente. Como alternativa, podemos usar a função integrada do Python classificado (). No entanto, isso não classifica no lugar.
P # 3) Você pode acrescentar vários itens a uma lista em Python?
Responda: Podemos anexar vários itens a uma lista usando o método de lista do Python append () em um ciclo , onde fazemos um loop através de um iterável e acrescentamos cada item à lista.
def append_loop(): list1 = (0,1,2,3) # list 1 list2 = (4,5,6,7) # list 2 # iterate through ‘list 2’ using ‘for loop’, and append each item to list1 for item in list2: list1.append(item) print('Concatenated list is {}'.format(list1)) if __name__ == '__main__': append_loop()
Resultado
Também podemos anexar vários itens usando o método de lista do Python ampliar (). Funciona como “ acrescentar () em um para loop ”Como vimos acima.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list1.extend(list2) # append each item in list2 into list1 >>> list1 (0, 1, 2, 3, 4, 5, 6, 7) >>>
Como alternativa, podemos concatenar usando o operador +. No entanto, isso não funciona no lugar . Isso significa que ele retornará a lista concatenada enquanto as listas originais permanecem inalteradas.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list3 = list1 + list2 # concatenate using the + operator >>> list3 (0, 1, 2, 3, 4, 5, 6, 7) >>>
Conclusão
Neste tutorial, examinamos alguns métodos comuns de lista Python, como anexar, estender, inserir, pop, remover, limpar, indexar, contar, copiar, e marcha ré .
Também vimos vários exemplos de como aplicar esses métodos em várias situações.
=> Visite aqui para ver a série de treinamento em Python para todos
Leitura recomendada
- Tutorial Python DateTime com exemplos
- Funções de lista Python - Tutorial com exemplos
- Tutorial de Python para iniciantes (treinamento prático e gratuito em Python)
- Python Advanced List Tutorial (List Sort, Reverse, Index, Copy, Join, Soma)
- Métodos de lista Java - Classificar lista, contém, adicionar lista, remover lista
- Variáveis Python
- Lista Python - criar, acessar, dividir, adicionar ou excluir elementos