# Python insert para inserir elementos em uma lista

O Python oferece com um conjunto completo de métodos embutidos que simplificam e aceleram a implementação de programas. Entre eles está o Python insert, que permite inserir um único elemento em uma [lista em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/listas-em-python/ "Listas em Python") já existente. Para adicionar múltiplos elementos a uma lista de uma vez só ou anexar elementos individuais ao fim dela, explore as possibilidades dos métodos [Python `extend`](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-extend/) e [Python `append`](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-append/) são úteis.

## Sintaxe, parâmetros e função do Python insert

O método insert em Python requer dois parâmetros, 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, permitindo que o parâmetro do elemento contenha qualquer tipo de dado (lista, inteiro etc.). No entanto, é importante notar que o parâmetro índice deve sempre ser um inteiro. A **sintaxe do Python insert** é a seguinte:

```python
ingredients.insert(1, "sugar")
```

Nesse exemplo, a string `"sugar"` é inserida na posição 1 na lista de ingredientes. 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 parâmetros podem ser passados diretamente ou criados como variáveis antes de o método ser chamado. O exemplo a seguir ilustra como o método funciona:

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

Neste exemplo, uma lista de ingredientes de uma receita é expandida adicionando-se a ela mais dois ingredientes, que são inseridos nos índices 0 e 2. É importante lembrar que **a indexação em Python começa em 0**, como é costume em muitas linguagens de programação. Isso implica que o primeiro elemento de um índice é classificado como 0, o segundo como 1 e assim por diante. Quando um elemento é inserido em uma lista pelo método `insert()`, os elementos existentes no índice especificado, e todos os elementos subsequentes, são **deslocados 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 especificado, ele será interpretado como a **distância a partir do final da lista**. Por exemplo, -1 corresponde ao penúltimo elemento, -2 representa o elemento anterior a este, e assim por diante. O exemplo a seguir demonstra essas duas propriedades:

```python
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']
```

Dica Está buscando uma plataforma que ajude você a publicar o seu site ou aplicativo web de forma rápida e fácil? Então o [Deploy Now](https://www.ionos.com/hosting/deploy-now "Deploy Now — IONOS") da IONOS é a escolha certa para você!

## Alternativas ao Python insert

Dependendo do comportamento almejado, alguns [operadores em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/operadores-python/ "Operadores em Python") podem funcionar como alternativas ao `insert()`. Apresentaremos dois deles.

### Operador de índice

O operador de índice pode ser usado para **ler ou sobrescrever** um elemento em um índice específico de uma lista. Com o operador de índice, é possível substituir um elemento por outro em uma lista. Isso é ilustrado no exemplo a seguir:

```python
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']
```

### 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 subsequência da lista, em vez de um único elemento. Por exemplo, em uma lista `ingredients`, podemos usar o operador de fatia para obter a subsequência 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:

```python
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']
```

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 concatenados com a lista resultante. Finalmente, a lista `ingredients` é sobrescrita com a lista obtida dessa dupla concatenação.

É importante notar que essa solução requer muitas escritas, pois toda a lista é sobrescrita. Isso deve ser considerado se você quiser que o seu programa seja muito eficiente ou se estiver trabalhando com listas muito grandes.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-insert/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-insert/) for AI/LLM consumption.