O Python oferece com um conjunto completo de métodos embutidos que sim­pli­fi­cam e aceleram a im­ple­men­ta­ção de programas. Entre eles está o Python insert, que permite inserir um único elemento em uma lista em Python já existente. Para adicionar múltiplos elementos a uma lista de uma vez só ou anexar elementos in­di­vi­du­ais ao fim dela, explore as pos­si­bi­li­da­des dos métodos Python extend e Python append são úteis.

Sintaxe, pa­râ­me­tros e função do Python insert

O método insert em Python requer dois pa­râ­me­tros, que são o elemento a ser inserido e o índice indicando onde o elemento deve ser colocado. Listas em Python suportam uma variedade de tipos de dados, per­mi­tindo que o parâmetro do elemento contenha qualquer tipo de dado (lista, inteiro etc.). No entanto, é im­por­tante notar que o parâmetro índice deve sempre ser um inteiro. A sintaxe do Python insert é a seguinte:

ingredients.insert(1, "sugar")
python

Nesse exemplo, a string "sugar" é inserida na posição 1 na lista de in­gre­di­en­tes. O índice no qual o elemento (a string) deve ser inserido é passado como o primeiro argumento e o elemento em si como o segundo. Como de costume, ambos os pa­râ­me­tros podem ser passados di­re­ta­mente ou criados como variáveis antes de o método ser chamado. O exemplo a seguir ilustra como o método funciona:

ingredients = ["flour", "eggs", "butter"]
ingredients.insert(0, "sugar")
print(ingredients)` # saída: ['sugar', 'flour', 'eggs', 'butter']
python

Neste exemplo, uma lista de in­gre­di­en­tes de uma receita é expandida adi­ci­o­nando-se a ela mais dois in­gre­di­en­tes, que são inseridos nos índices 0 e 2. É im­por­tante lembrar que a indexação em Python começa em 0, como é costume em muitas lin­gua­gens de pro­gra­ma­ção. Isso implica que o primeiro elemento de um índice é clas­si­fi­cado como 0, o segundo como 1 e assim por diante. Quando um elemento é inserido em uma lista pelo método insert(), os elementos exis­ten­tes no índice es­pe­ci­fi­cado, e todos os elementos sub­se­quen­tes, são des­lo­ca­dos uma posição para a direita para acomodar o novo elemento.

Se o índice fornecido estiver fora do intervalo válido da lista (por exemplo, for maior que o número de elementos da lista), o elemento será inserido no final dessa lista. Nesse caso, insert() se comporta de maneira idêntica ao método Python append. No entanto, se um índice negativo for es­pe­ci­fi­cado, ele será in­ter­pre­tado como a distância a partir do final da lista. Por exemplo, -1 cor­res­ponde ao penúltimo elemento, -2 re­pre­senta o elemento anterior a este, e assim por diante. O exemplo a seguir demonstra essas duas pro­pri­e­da­des:

ingredients.insert(10, "baking powder")
print(ingredients)` # saída: ['sugar', 'flour', 'eggs', 'butter', 'baking powder']
ingredients.insert(-2, "salt")
print(ingredients)` # saída: ['sugar', 'flour', 'eggs', 'salt', 'butter', 'baking powder']
python
Dica

Está buscando uma pla­ta­forma que ajude você a publicar o seu site ou apli­ca­tivo web de forma rápida e fácil? Então o Deploy Now da IONOS é a escolha certa para você!

Al­ter­na­ti­vas ao Python insert

De­pen­dendo do com­por­ta­mento almejado, alguns ope­ra­do­res em Python podem funcionar como al­ter­na­ti­vas ao insert(). Apre­sen­ta­re­mos dois deles.

Operador de índice

O operador de índice pode ser usado para ler ou so­bres­cre­ver um elemento em um índice es­pe­cí­fico de uma lista. Com o operador de índice, é possível subs­ti­tuir um elemento por outro em uma lista. Isso é ilustrado no exemplo a seguir:

print(ingredients)` # saída: ['sugar', 'flour', 'eggs', 'salt', 'butter', 'baking powder']
ingredients[2] = "baking soda"
print(ingredients)` # saída: ['sugar', 'flour', 'baking soda', 'salt', 'butter', 'baking powder']
python

Operador de fatia

No entanto, se você não quiser deletar elementos da sua lista ou inserir vários elementos no meio dela, o operador de fatia pode ser uma escolha melhor. Ao contrário do operador de índice, o operador de fatia retorna uma sub­sequên­cia da lista, em vez de um único elemento. Por exemplo, em uma lista ingredients, podemos usar o operador de fatia para obter a sub­sequên­cia de elementos dos índices 3 a 5, o que resultará em ['salt', 'butter', 'baking powder']. O exemplo a seguir ilustra o uso do operador de fatia para inserir qualquer número de elementos no meio de uma lista:

to_add = ["More sugar", "Even more sugar"]
ingredients = ingredients[:3] + to_add + ingredients[3:]
print(ingredients)
# saída: ['sugar', 'flour', 'baking soda', 'More sugar', 'Even more sugar', 'salt', 'butter', 'baking powder']
python

Nesse exemplo, a lista to_add é inserida no meio da lista ingredients. O processo começa pelo operador de fatia, que extrai todos os elementos da lista ingredients até o índice 3 e os concatena com a lista to_add. Em seguida, todos os elementos da lista ingredients, a partir do índice 3, são con­ca­te­na­dos com a lista re­sul­tante. Fi­nal­mente, a lista ingredients é so­bres­crita com a lista obtida dessa dupla con­ca­te­na­ção.

É im­por­tante notar que essa solução requer muitas escritas, pois toda a lista é so­bres­crita. Isso deve ser con­si­de­rado se você quiser que o seu programa seja muito eficiente ou se estiver tra­ba­lhando com listas muito grandes.

Ir para o menu principal