FC ConcursosFC Concursos

Questão FC331167

Analise o código Python a seguir. x1 = {"A", "B", "C"} x2 = ["AA", "BB", "CC"] x1.add("B") x2.append("BB") x2.append(x1) print (x2) Dado que os elementos de x1 podem ser exibidos e

Linguagens de Programação

FGV · 2022

Analise o código Python a seguir.


x1 = {"A", "B", "C"}
x2 = ["AA", "BB", "CC"]
x1.add("B")
x2.append("BB")
x2.append(x1)
print (x2)


Dado que os elementos de x1 podem ser exibidos em ordem aleatória, a linha que possivelmente é produzida pelo comando print na execução do código acima é:

  1. ['AA', 'BB', 'CC', 'BB', {'C', 'A', 'B'}]
  2. ['AA', 'BB', 'CC', 'BB', 'C', 'A', 'B', 'B']
  3. ['AA', 'BB', 'CC', 'BB', 'C', 'A', 'B']
  4. ['AA', 'BB', 'CC', ['BB'], {'B'}]
  5. {'AA', 'BB', 'CC', 'BB', 'C', 'A', 'B'}
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

Comece observando que x1 é um set e x2 é uma list. O método add() aplicado a um set insere um elemento apenas se ele não existir; como "B" já está em x1, add("B") não altera o conjunto.

Por outro lado, append() em listas adiciona o argumento como um único elemento ao final, sem checar duplicatas. Assim, x2.append("BB") acrescenta mais uma string "BB".

Em seguida, x2.append(x1) insere o próprio set como o último item da lista. Logo, a lista passa a conter os três elementos iniciais, mais "BB" repetido, e por fim o conjunto x1.

Ao imprimir, Python mostra a representação da lista: ['AA', 'BB', 'CC', 'BB', {'C', 'A', 'B'}]. Note que a ordem interna do set é aleatória, por isso os elementos do conjunto podem aparecer em qualquer sequência.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo