Questão nº 46
Questão de Análise de Sistemas · CESGRANRIO BNDES 01/2024 (nº 46)
CESGRANRIO2024Analista - Análise de Sistemas (Desenvolvimento)Análise de Sistemas
Gabarito: Ever comentário ↓
Considere o seguinte código Python 3:
```python
x = {'f': 1, 'g': 2, 'h': 1, 'i': 2, 'j': 3}
x = list(x.values())
x = set(x)
x = sorted(x)
print(x)
```
Qual será o valor impresso pelo código?
- A`['f', 'g', 'h', 'i', 'j']`
- B`['1', '1', '2', '2', '3']`
- C`['f', 'g', 'h']`
- D`[1, 2, 1, 2, 3]`
- E`[1, 2, 3]` (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Conceito-chave: O código transforma o dicionário em uma lista de valores, depois em um conjunto (que remove duplicatas e não tem ordem), e por fim em uma lista ordenada com sorted(). O resultado são os valores únicos do dicionário, em ordem crescente.
- (A) Incorreta:
['f', 'g', 'h', 'i', 'j']seriam as chaves do dicionário, mas o código usax.values(), que extrai apenas os valores1, 2, 1, 2, 3. - (B) Incorreta:
['1', '1', '2', '2', '3']são strings, mas os valores originais são inteiros (int), e osetremove as duplicatas, então não haveria repetição de1e2. - (C) Incorreta:
['f', 'g', 'h']mistura chaves com valores e ignora a transformação para números. - (D) Incorreta:
[1, 2, 1, 2, 3]mantém as duplicatas, mas oset(x)elimina repetições, então sobrariam apenas{1, 2, 3}. - (E) Correta:
[1, 2, 3]— apóslist(x.values())temos[1, 2, 1, 2, 3]; osetremove duplicatas →{1, 2, 3}; osortedordena →[1, 2, 3]. A armadilha é esquecer quesetelimina repetições, levando a achar que a ordem ou as duplicatas permanecem.
Fonte: CESGRANRIO BNDES 01/2024 Analista - Análise de Sistemas (Desenvolvimento) (Caderno Prova 3). Reproduzida para fins de estudo.