Fatiamento de Listas Parte 2
Parte da seção Fundamentals do Journey de Python da Coddy — lição 65 de 77.
O fatiamento tem outro parâmetro step: lst[start:stop:step]. Por exemplo, considere esta lista:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Obtém cada segundo elemento do índice 1 ao 8:
print(numbers[1:8:2])
# Saída: [1, 3, 5, 7]Obtém cada terceiro elemento a partir do índice 2:
print(numbers[2::3])
# Saída: [2, 5, 8]O fatiamento (slicing) também suporta índices negativos.
Contando a partir do final:
print(numbers[-3:])
# Saída: [7, 8, 9]Aqui, -3 significa "começar 3 posições a partir do fim"
Contar até o fim:
print(numbers[:-2])
# Output: [0, 1, 2, 3, 4, 5, 6, 7]Aqui, -2 significa "parar 2 posições antes do fim" (exclusivo)
Invertendo com passo negativo:
print(numbers[::-1])
# Saída: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]- Espaço vazio antes do primeiro
:significa “começar do início” - Espaço vazio entre
:significa “ir até o fim” - -1 significa "retroceder um passo de cada vez"
Desafio
FácilCrie um programa que receba uma lista como entrada (fornecida) e imprima três novas listas baseadas nas seguintes operações de fatiamento (slicing):
- Uma lista contendo cada terceiro elemento, começando a partir do índice 1 (o segundo elemento)
- Uma lista contendo todos os elementos do 6º elemento ao 1º em ordem reversa
- Uma lista contendo cada segundo elemento começando do meio da lista até o final
Folha de consulta
Sintaxe de fatiamento (slicing): lst[start:stop:step]
Exemplos de fatiamento:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Cada segundo elemento do índice 1 ao 8
print(numbers[1:8:2]) # Saída: [1, 3, 5, 7]
# Cada terceiro elemento a partir do índice 2
print(numbers[2::3]) # Saída: [2, 5, 8]
# Últimos três elementos
print(numbers[-3:]) # Saída: [7, 8, 9]
# Todos os elementos exceto os dois últimos
print(numbers[:-2]) # Saída: [0, 1, 2, 3, 4, 5, 6, 7]
# Inverter a lista
print(numbers[::-1]) # Saída: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]Pontos principais:
- Índices negativos contam a partir do final da lista
- Espaço vazio antes do primeiro
:significa "começar do início" - Espaço vazio entre
:significa "ir até o fim" - Passo (step) negativo inverte a ordem
Experimente você mesmo
lst = input().split(",")
# Escreva seu código abaixoEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada10FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz13Listas Avançadas
Fatiamento de Listas Parte 1Fatiamento de Listas Parte 2Operadores de SequênciaPertencimento2Variáveis
NúmerosStringBooleanoConvenções de NomenclaturaVariáveis VaziasRecapitulação - Inicializar Variáveis8Laços de Repetição
Loop ForLoop WhileBreakContinueRecapitulação - FatorialA Função RangeLoops AninhadosRecapitulação - Entrada Dinâmica11Fundamentos de Listas
Declarando uma ListaAcessando Elementos da ListaModificando ListasMétodos de ListaRecapitulação - Lista de ProdutosRecapitulação - Lista InvertidaTupla14Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6Entrada e Saída Básica
SaídaSaída com VariáveisEntradaConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso9Funções
Declarar uma FunçãoArgumentosRetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão12Iterando sobre Sequências
Iterando sobre ElementosA Função EnumerateIterando sobre Strings Parte 1Iterando sobre Strings Parte 2