"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como substituir valores com eficiência em listas Python usando compreensões de lista?

Como substituir valores com eficiência em listas Python usando compreensões de lista?

Publicado em 2024-11-03
Navegar:343

How to Efficiently Replace Values in Python Lists Using List Comprehensions?

Substituir valores na lista usando Python

Em Python, você pode encontrar a necessidade de substituir valores específicos em uma lista por outro valor, como como Nenhum. Uma abordagem comum é iterar pela lista, verificando cada elemento em relação a uma condição e substituindo-o se atender aos critérios. No entanto, uma alternativa mais eficiente é utilizar compreensões de lista.

Solução de compreensão de lista

Uma compreensão de lista é uma maneira concisa e elegante de criar uma nova lista aplicando iterativamente um cálculo ou transformação para cada elemento de uma lista existente. Por exemplo, para substituir valores em uma lista com base em uma condição, você pode usar a seguinte sintaxe:

new_items = [x if condition(x) else None for x in items]

Nesta expressão, a primeira parte (x if condição(x)) especifica o valor de substituição para cada elemento. Para elementos que satisfazem a condição (condição(x) é Verdadeira), o valor original (x) é retido. Para aqueles que não o fazem, o valor de substituição (neste caso, Nenhum) é usado.

Exemplo

Considere o exemplo de substituição de números ímpares por Nenhum em uma lista :

items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Replace odd numbers with None
new_items = [x if x % 2 else None for x in items]

# Print the modified list
print(new_items)

Saída:

[None, 1, None, 3, None, 5, None, 7, None, 9, None]

Modificação no local

Embora seja comum criar uma nova lista conforme mostrado acima, você também pode modificar a lista original no local, se desejar. No entanto, é importante observar que isso na verdade não economiza tempo em comparação com a abordagem de compreensão de lista.

Declaração de lançamento Este artigo foi reimpresso em: 1729160656 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3