Questão nº 27

Questão de Recursos Energéticos · FGV EPE 2024 (nº 27)

FGV2024Analista de Pesquisa Energética - Recursos EnergéticosRecursos Energéticos
Gabarito: Bver comentário ↓

Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3).

```
<1> import numpy as np
<2> x = np.arange(1,30,2).reshape(3,5)
<3> y = x[[1,2]]
<4> y[0,:]=0
<5> z = x[0,2]
```

Assinale a opção que indica o valor que z recebe na linha <5>.

Resposta comentada

Gabarito Alternativa B

Em NumPy, a indexação avançada (usando uma lista ou array de índices) geralmente cria uma cópia dos dados, enquanto a indexação básica (fatiamento) cria uma view. Modificações em uma cópia não afetam o array original, mas modificações em uma view afetam.

  • (A) Incorreta: Esta seria a resposta se y fosse uma view de x e a modificação em y afetasse x. No entanto, y é uma cópia, e x não é alterado.
  • (B) Correta: A linha x = np.arange(1,30,2).reshape(3,5) cria o array x como [[ 1, 3, 5, 7, 9], [11, 13, 15, 17, 19], [21, 23, 25, 27, 29]]. A linha y = x[[1,2]] usa indexação avançada para selecionar as linhas de índice 1 e 2 de x, criando uma cópia dessas linhas para y. A linha y[0,:]=0 modifica a primeira linha de y para zeros, mas como y é uma cópia, o array x original permanece inalterado. Finalmente, z = x[0,2] acessa o elemento na linha 0, coluna 2 do array x original, que é 5.
  • (C) Incorreta: Esta é a primeira linha de y após a modificação, mas z é um único valor (escalar), não um array.
  • (D) Incorreta: Esta é uma fatia de x (linhas 1 e 2, colunas 0 a 2), mas z é um único valor.
  • (E) Incorreta: Esta é uma fatia de x (linhas 0 e 1, colunas 0 a 2), mas z é um único valor.

Fonte: FGV EPE 2024 Analista de Pesquisa Energética - Recursos Energéticos (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho