Questão nº 26
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 26)
Observe o seguinte código Python:
import numpy as n
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])
O resultado da execução do código apresentado é:
- A[1 5]
- B[1 2 3 4 5]
- C[2 3 4 5] (alternativa correta)
- D[2 3 4 5 6]
- E[3 4 5 6 7]
Resposta comentada
Gabarito Alternativa C
Em Python, ao fatiar (slicing) uma lista ou array NumPy usando a notação `[inicio:fim]`, o elemento do índice de início é incluído, mas o elemento do índice de fim é sempre excluído do resultado. Pense que o `fim` indica "até onde ir, mas sem incluir ele mesmo".
(A) Incorreta: Esta alternativa seleciona apenas o primeiro e o quinto elemento, o que não corresponde à lógica de fatiamento `inicio:fim`.
(B) Incorreta: Este resultado seria obtido com `arr[0:5]`, que começa do índice 0 e vai até (mas não inclui) o índice 5.
(C) Correta: O fatiamento `arr[1:5]` seleciona os elementos a partir do índice 1 (que é o número 2) até o índice 4 (que é o número 5), pois o índice final (5) é exclusivo.
(D) Incorreta: (Armadilha da banca) Esta é a pegadinha mais comum! O erro aqui é considerar o índice final (5) como inclusivo. Se o 5 fosse inclusivo, o resultado incluiria o elemento no índice 5 (que é o número 6), mas em Python e NumPy, o índice final é sempre exclusivo. O resultado `[2 3 4 5 6]` seria obtido com `arr[1:6]`.
(E) Incorreta: Este resultado começaria a partir do índice 2 (o número 3) e incluiria elementos até o final do array, o que não corresponde a `arr[1:5]`.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.