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.
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