Fatiamento em Python – Como Funciona o famoso Slicing

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Python é uma linguagem de programação poderosa que oferece uma variedade de maneiras de manipular estruturas de dados. Um desses recursos é o fatiamento (também conhecido pelo seu termo em inglês, slicing), que permite extrair partes de uma sequência como uma lista, tupla ou string. Entender como o fatiamento funciona pode aumentar significativamente sua eficiência na codificação. Vamos entender a mecânica da notação de fatiamento em Python.

Entendendo a Notação de Fatiamento em Python

A notação de fatiamento em Python segue uma sintaxe simples que pode ser usada para acessar partes de uma sequência. Aqui está um resumo da sintaxe:

  • a[inicio:fim]: Recupera itens do índice inicio até, mas não incluindo, o índice fim.
  • a[inicio:]: Recupera itens do índice inicio até o final da sequência.
  • a[:fim]: Recupera itens do começo da sequência até, mas não incluindo, o índice fim.
  • a[:]: Cria uma cópia da sequência inteira.

O Valor do Passo

Além de inicio e fim, você também pode especificar um valor de passo:

  • a[inicio:fim:passo]: Recupera itens do índice inicio até, mas não incluindo, o índice fim, com intervalos definidos por passo.

O valor de passo pode ser negativo, o que significa que o fatiamento será feito do final para o começo da sequência:

  • a[::-1]: Recupera todos os itens da sequência, em ordem inversa.
  • a[1::-1]: Recupera os dois primeiros itens em ordem inversa.
  • a[:-3:-1]: Recupera os dois últimos itens em ordem inversa.
  • a[-3::-1]: Recupera tudo, exceto os dois últimos itens, em ordem inversa.

Índices Negativos

Python também permite indexação negativa, que conta a partir do final da sequência:

  • a[-1]: Recupera o último item da sequência.
  • a[-2:]: Recupera os dois últimos itens da sequência.
  • a[:-2]: Recupera tudo, exceto os dois últimos itens.

O Objeto Slice

Um objeto slice pode ser usado para representar uma operação de fatiamento. Por exemplo, a[inicio:fim:passo] é equivalente a a[slice(inicio, fim, passo)]. Isso pode ser particularmente útil quando você precisa gerar fatiamentos de forma programática.

Visualizando Fatiamentos

Para visualizar como o fatiamento funciona, imagine os índices como pontos entre os elementos de uma sequência:

 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
   0   1   2   3   4   5
  -6  -5  -4  -3  -2  -1

O índice antes do primeiro elemento é 0, e o índice após o último elemento é igual ao comprimento da sequência.

Resumo

Neste artigo, exploramos como o fatiamento em Python funciona. Lembre-se de que o índice fim é exclusivo, e você pode usar índices negativos para contar a partir do final da sequência. O valor de passo pode ser usado para pular itens ou reverter a sequência. Entender esses princípios de fatiamento ajudará você a manipular sequências de forma eficaz em seus programas Python.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: