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 é:
- ['AA', 'BB', 'CC', 'BB', {'C', 'A', 'B'}]
- ['AA', 'BB', 'CC', 'BB', 'C', 'A', 'B', 'B']
- ['AA', 'BB', 'CC', 'BB', 'C', 'A', 'B']
- ['AA', 'BB', 'CC', ['BB'], {'B'}]
- {'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