Questão de Programação — Linguagens de programação — FGV 2025
Programação›Linguagens de programação
Código
fg116624
Banca
FGV
Órgão
PC-MG
Ano
2025
Nível
Superior
Cargo
Perito Criminal - Área II
Python possui recursos específicos que facilitam a programação, como o uso de list comprehensions.Com base nisso, assinale a opção que indica a principal vantagem do uso de list comprehension em Python em comparação com um loop for convencional para criar listas.
AÉ exclusivamente mais rápido em todas as situações, devido à sua implementação interna otimizada.
BResulta sempre em uma sintaxe mais concisa e legível quando comparado a um loop for convencional.
CSó funciona para números inteiros, enquanto o loop for pode criar listas a partir de qualquer sequência.
DImpede o uso de condições nos laços, enquanto os loops for permitem maior flexibilidade.
EÉ obrigatório no Python para criar listas no caso de grandes quantidades de dados.
Revelar gabarito e comentário▾
GabaritoB — Resulta sempre em uma sintaxe mais concisa e legível quando comparado a um loop for convencional.
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”.
Python – List Comprehension vs Loop For
Gabarito: letra B. A principal vantagem do uso de list comprehension em Python é a sintaxe mais concisa e legível em comparação com um loop for convencional. Embora list comprehensions sejam amplamente utilizadas por sua expressividade, elas não são exclusivamente mais rápidas, não possuem limitações de tipo, permitem condições e não são obrigatórias.
NÃO CAIA NESSA!
A alternativa A afirma que list comprehension é "exclusivamente mais rápido em todas as situações". Isso é uma generalização indevida — na prática, o desempenho pode variar conforme o caso; loops for podem ser mais eficientes em cenários com operações complexas ou grandes volumes de dados. O candidato deve evitar acreditar que list comprehension é sempre a opção mais rápida.
Alternativa A — ❌ Incorreta
Afirma que list comprehension é "exclusivamente mais rápido em todas as situações". Embora a implementação interna seja otimizada, não é uma verdade absoluta; em alguns casos (ex.: laços com efeitos colaterais ou processamento pesado), um loop for pode ter desempenho similar ou superior. O erro é a generalização abusiva.
Alternativa B — ✅ Correta ⟵ GABARITO
A descrição "sintaxe mais concisa e legível" reflete a principal vantagem didática e prática das list comprehensions. Em comparação com um loop for tradicional, a mesma lógica pode ser expressa em uma única linha, reduzindo a verbosidade e melhorando a clareza do código.
Alternativa C — ❌ Incorreta
Afirma que list comprehension "só funciona para números inteiros". Na realidade, list comprehensions funcionam com qualquer iterável (listas, strings, tuplas, geradores, etc.) e podem produzir listas de qualquer tipo de elemento. Não há restrição a inteiros.
Alternativa D — ❌ Incorreta
Afirma que list comprehension "impede o uso de condições nos laços". Na verdade, list comprehensions suportam cláusulas if para filtrar elementos (ex.: [x for x in range(10) if x % 2 == 0]). Portanto, são tão flexíveis quanto loops for em termos de condições.
Alternativa E — ❌ Incorreta
Afirma que list comprehension é "obrigatório no Python para criar listas no caso de grandes quantidades de dados". Não há obrigatoriedade; list comprehensions são apenas uma ferramenta conveniente. Para grandes volumes, podem ser usados loops for, geradores ou outras abordagens. A escolha depende do contexto e da legibilidade.
PEGA ESSA DICA!
Ao estudar Python, lembre-se: list comprehension é preferível quando se deseja transformar/filtrar rapidamente um iterável em uma lista de forma clara. Porém, para lógicas complexas ou muitos efeitos colaterais, o loop for tradicional ainda é a melhor opção. Pratique a conversão entre as duas formas para fixar o conceito.