Sobes.tech
Junior

O que são fatias (slices) em Python e como são usadas?

sobes.tech IA

Resposta da IA

Slices em Python são uma forma conveniente de obter subsequências de coleções ordenadas, como strings, listas e tuplos. Permitem extrair elementos ou partes de uma sequência sem modificar a coleção original.

Sintaxe do slice: [start:stop:step]

  • start: índice de início do slice (incluído). Por padrão 0.
  • stop: índice de fim do slice (não incluído). Por padrão o final da sequência.
  • step: passo do slice (a cada quantos elementos pegar). Por padrão 1.

Os índices podem ser negativos. Um índice negativo conta a partir do final da sequência (-1 é o último elemento, -2 o penúltimo, etc.).

Exemplos de uso:

# String
s = "Hello, world!"
# Slice do início até o elemento 5 (não incluindo)
print(s[:5])  # Saída: Hello
# Slice do elemento 7 até o final
print(s[7:]) # Saída: world!
# Slice do elemento 7 até o 12 (não incluindo)
print(s[7:12]) # Saída: world
# Copiar a string
print(s[:]) # Saída: Hello, world!
# Inverter a string
print(s[::-1]) # Saída: !dlrow ,olleH
# Slice com passo 2
print(s[::2]) # Saída: Hlo ol!

# Lista
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Slice do 2º ao 5º elemento (não incluindo)
print(my_list[1:5]) # Saída: [2, 3, 4, 5]
# Slice do último ao 3º elemento (não incluindo), com passo -1
print(my_list[-1:2:-1]) # Saída: [10, 9, 8, 7, 6, 5, 4]

# Tuplo
my_tuple = (10, 20, 30, 40, 50)
# Slice do 2º ao 4º elemento (não incluindo)
print(my_tuple[1:4]) # Saída: (20, 30, 40)

O uso de slices permite criar novos objetos com partes de dados da sequência original, tornando-os uma ferramenta eficiente para manipulação de dados.