Considere o seguinte trecho de código, desenvolvido utilizando-se a linguagem de programação Python:l = [1,'oi',2.5] l *= 4 print(l, 4 in l, 'oi' in l) Assinale a opção que indica a saída impressa pela função print().
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Operador de multiplicação de listas e operador in em Python
Gabarito: letra A. A expressão l *= 4 repete a lista original quatro vezes, resultando em [1, 'oi', 2.5, 1, 'oi', 2.5, 1, 'oi', 2.5, 1, 'oi', 2.5]. Os testes 4 in l e 'oi' in l avaliam, respectivamente, False (pois o inteiro 4 não está na lista) e True (pois a string 'oi' está presente). Apenas a alternativa A reflete exatamente essa saída.
A questão testa dois conceitos fundamentais do Python: (1) a multiplicação de uma lista por um inteiro n produz uma nova lista com seus elementos repetidos n vezes; (2) o operador in verifica a presença de um elemento na sequência, retornando True ou False.
Alternativa A — ✅ Correta ⟵ GABARITO
A lista original [1, 'oi', 2.5] é repetida 4 vezes, gerando uma lista com 12 elementos. O 4 in l retorna False porque 4 não é um dos elementos; 'oi' in l retorna True. A saída impressa será exatamente a sequência de valores listada.
Alternativa B — ❌ Incorreta
A multiplicação da lista não transforma os elementos individualmente; ela apenas repete a sequência. O resultado não é [4, 'oioioioi', 10.0], que seria obtido se cada elemento fosse multiplicado separadamente (ex.: l[0]*4, l[1]*4, l[2]*4). Além disso, 4 in l seria True se houvesse o elemento 4, mas não há na saída correta.
Alternativa C — ❌ Incorreta
Afirma que a lista permanece inalterada, ou seja, sem repetição. O operador *= modifica a lista in-place (para listas, l *= n equivale a l.extend(l * (n-1))), produzindo uma lista maior. A saída correta tem 12 elementos, não 3.
Alternativa D — ❌ Incorreta
Repete a lista, mas os elementos individuais são incorretamente transformados: o número 1 vira 4, a string 'oi' vira ' oioioioi' (com um espaço extra), e o float 2.5 vira 10.0. Isso seria o resultado de aplicar uma operação de multiplicação a cada elemento, não de repetir a estrutura da lista. Além disso, 4 in l seria True nessa saída, mas no código correto é False.
Alternativa E — ❌ Incorreta
A lista cresce, mas os elementos vão sendo transformados progressivamente: o 1 vira 4, o 'oi' ganha um 'oi' adicional a cada repetição, e o 2.5 vira 10.0. Esse comportamento não corresponde à multiplicação de listas. O operador in para 4 retornaria True nessa saída, contrariando o código real.
PEGA ESSA DICA!
Lembre-se: lista * n repete a sequência de elementos; elemento * n (quando elemento é número ou string) modifica o valor. A banca explora justamente essa confusão entre repetir a lista e multiplicar os itens.