# Tutorial: Como usar listas em Python

Listas em Python (*Python lists*) ajudam a estruturar conteúdos e lê-lo posteriormente. Diversos métodos permitem que você edite, classifique, estenda ou encurte suas listas.

## O que são listas em Python?

Uma lista em Python armazena informações complexas de forma clara. Não somente dados simples e tipos de objetos podem ser armazenados em Python lists; também é possível aninhar diferentes valores e até outras listas. Uma lista em Python pode ser homogênea ou heterogênea. Listas homogêneas contêm apenas um tipo de dado. Uma lista heterogênea, por sua vez, contém diferentes tipos de objetos. A versatilidade de listas em Python as torna a alternativa ideal a arrays. Explicamos o porquê no nosso artigo sobre [arrays em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/array-em-python/).

## Como criar listas em Python

Uma lista em Python deve conter valores, independentemente da quantidade destes. Os valores são delimitados por colchetes e separados por vírgulas, como no exemplo abaixo:

```python
cars = ['audi', 'ford', 'fiat', 'bentley']
```

Cada valor em uma Python list recebe um índice para que possa ser lido posteriormente. Para filtrar um valor específico da lista, é necessário que você escreva o número correspondente do índice entre colchetes. A estrutura retornará, então, o valor que você está procurando. Lembre-se de que a [linguagem de programação web](https://www.ionos.com/digitalguide/websites/web-development/web-programming-languages/) Python sempre começa a contar a partir do índice 0.

```python
first = cars[0]
assert first == 'audi'
```

### Exemplo de lista em Python

O nosso exemplo simplificado ilustra como criar uma lista em Python e lê-la posteriormente. Usaremos nomes de países e os colocaremos entre colchetes:

```python
países = ["França", "Uruguai", "Alemanha", "Holanda", "Gana"]
```

Para lermos os países que não estão na Europa, prosseguimos com os seguintes passos:

```python
print(países[1])
print(países[4])
```

A saída será:

```plaintext
"Uruguai"
"Gana"
```

## Sublistas em Python

Uma lista em Python também pode conter sublistas, que funcionam como elementos ordinários. Por exemplo:

```python
países_capitais = [
    ["França", "Uruguai", "Alemanha", "Gana"],
    ["Paris", "Montevidéo", "Berlim", "Acra"]
]
first_país = países_capitais[0][0]
assert first_país == "França"
print(first_país)
```

A saída será:

```plaintext
"França"
```

Use o seguinte código para exibir a capital:

```python
capitais = países_capitais[1]
first_capital = capitais[0]
print(f"A primeira capital é {first_capital}.")
```

A saída será:

```plaintext
A primeira capital é Paris.
```

## Estender listas em Python

Há três opções para estender uma lista em Python: `append`, `extend` e `insert`. Vamos detalhar cada uma delas.

### Estender listas em Python com `append`

Use `append` para estender a sua Python list com um único item:

```python
países = ["França", "Uruguai", "Alemanha", "Gana"]
países.append("Japão")
print(países)
```

Este resultado será exibido:

```plaintext
['França', 'Uruguai', 'Alemanha', 'Gana', 'Japão']
```

### Estender listas em Python com `extend`

Use `extend` para adicionar vários itens à sua Python list:

```python
países.extend(["Itália", "Canadá", "Austrália"])
print(países)
```

O código resultará em:

```plaintext
['França', 'Uruguai', 'Alemanha', 'Gana', 'Japão', 'Itália', 'Canadá', 'Austrália']
```

### Estender listas em Python com `insert`

O método `insert` permite inserir um novo elemento no meio de uma lista. Você deve especificar o novo elemento e indicar o índice no qual ele será inserido:

```python
países.insert(1, "China")
assert países[1] == "China"
print(países)
```

O código resultará em:

```plaintext
['França', 'China', 'Uruguai', 'Alemanha', 'Gana']
```

## Deletar elementos de lista em Python

Você pode usar `remove` ou `del` para deletar itens de uma lista Python.

### Deletar elementos de lista em Python com `remove`

Use **remove** para deletar um elemento específico:

```python
países.remove("Alemanha")
print(países)
```

A saída será:

```plaintext
['França', 'Uruguai', 'Holanda', 'Gana']
```

### Deletar elementos de lista em Python com `del`

Outra opção é usar `del`, que remove um elemento pelo índice:

```python
del países[2]
assert "Alemanha" not in países
print(países)
```

O resultado será o mesmo obtido com o método `remove`.

## Ordenar listas em Python

A função `sort` organiza suas listas em Python de forma simples. Para ordenar os países alfabeticamente, prossiga da seguinte forma:

```python
países.sort()
print(países)
```

O resultado exibido será:

```plaintext
['Alemanha', 'França', 'Gana', 'Holanda', 'Uruguai']
```

Para organizar a lista em ordem decrescente e exibi-la:

```python
países.sort(reverse=True)
print(países)
```

A lista será exibida de “Uruguai” a “Alemanha”.

## Principais métodos de listas em Python

Segue uma visão geral dos métodos mais utilizados em Python lists:

<table>
  <thead>
    <tr>
      <th>Método</th>
      <th>Descrição</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`append`</td>
      <td>Adiciona um item ao final da lista.</td>
    </tr>
    <tr>
      <td>`clear`</td>
      <td>Remove todos os elementos da lista.</td>
    </tr>
    <tr>
      <td>`copy`</td>
      <td>Cria uma cópia da lista.</td>
    </tr>
    <tr>
      <td>`count`</td>
      <td>Conta o número de ocorrências de um valor específico na lista.</td>
    </tr>
    <tr>
      <td>`extend`</td>
      <td>Adiciona todos os elementos de outra lista.</td>
    </tr>
    <tr>
      <td>`index`</td>
      <td>Localiza o índice de um elemento específico.</td>
    </tr>
    <tr>
      <td>`insert`</td>
      <td>Insere um elemento em uma posição especificada.</td>
    </tr>
    <tr>
      <td>`pop`</td>
      <td>Remove um elemento de uma posição específica e retorna o valor.</td>
    </tr>
    <tr>
      <td>`remove`</td>
      <td>Remove o primeiro elemento com um valor específico.</td>
    </tr>
    <tr>
      <td>`reverse`</td>
      <td>Inverte a ordem da lista.</td>
    </tr>
    <tr>
      <td>`sort`</td>
      <td>Organiza a lista em ordem crescente ou decrescente.</td>
    </tr>
  </tbody>
</table>


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