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.
Errada, porque list comprehensions podem ser eficientes, mas não são obrigatoriamente mais rápidas em todas as situações.
- B)Resulta sempre em uma sintaxe mais concisa e legível quando comparado a um loop for convencional.
Certa, porque a grande vantagem é escrever a criação da lista de forma mais curta e, em geral, mais legível.
- C)Só funciona para números inteiros, enquanto o loop for pode criar listas a partir de qualquer sequência.
Errada, porque list comprehension funciona com qualquer tipo de iterável e não apenas com números inteiros.
- D)Impede o uso de condições nos laços, enquanto os loops for permitem maior flexibilidade.
Errada, porque ela admite condições internas e filtros, sendo justamente uma forma expressiva de construir listas.
- E)É obrigatório no Python para criar listas no caso de grandes quantidades de dados.
Errada, porque no Python você pode criar listas tanto com loop for quanto com list comprehension, sem obrigatoriedade.
Gabarito: B
List comprehension em Python é uma forma curta e elegante de construir listas. Em vez de escrever um loop for com varias linhas, vocé pode montar a lista em uma só expressão, o que costuma deixar o código mais direto e fácil de ler. Em prova, a ideia central é esta: ele não existe para “fazer magia”, mas para reduzir verbosidade sem perder clareza. Por isso, o gabarito é a letra B. A principal vantagem da list comprehension, em comparação com um loop for convencional, é justamente a sintaxe mais concísa e, em muitos casos, mais legível. Você consegue filtrar, transformar e montar listas de forma enxuta, por exemplo com condições embutidas. Exemplo simples: [x*x for x in numeros if x % 2 == 0]. Em uma linha, você diz o que quer gerar, de onde vem cada elemento e qual filtro aplicar. Isso ajuda bastante em código de uso comum, embora em casos mais complexos o loop for ainda possa ser melhor para leitura. Não existe regra dizendo que list comprehension é obrigatória, nem que funciona só para inteiros. Ela também não é “sempre mais rápida em qualquer situação”. O ganho principal cobrado pela banca costuma ser a concisão com clareza. Como diz a filosofia do Python, inspirada no Zen of Python, “Readability counts”.