"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 elementos em uma lista Python baseada em lógica booleana condicional?

Como substituir elementos em uma lista Python baseada em lógica booleana condicional?

Publicado em 2024-11-06
Navegar:617

How to Replace Elements in a Python List Based on Conditional Boolean Logic?

Substituição de lista Python com lógica booleana condicional

Dada uma lista de valores, você pode desejar substituir seletivamente elementos específicos por None com base em um doença. A condição, definida por uma função condição(), pode determinar se um elemento deve ser substituído com base em seu valor. Esta questão explora diferentes maneiras de conseguir essa substituição em Python, ao mesmo tempo que fornece um exemplo de condição que substitui elementos ímpares.

Solução 1: compreensão de lista

A maneira mais eficiente para realizar esta substituição é utilizar uma compreensão de lista. Esta abordagem gera uma nova lista, preservando a ordem original enquanto substitui os elementos correspondentes:

new_items = [x if x % 2 else None for x in items]

Neste exemplo, os elementos divisíveis por 2 (números pares) são mantidos, enquanto os números ímpares são substituídos por Nenhum.

Solução 2: modificação no local

Como alternativa, você pode modificar o lista original diretamente. No entanto, esta abordagem é um pouco menos eficiente:

for index, item in enumerate(items):
    if not (item % 2):
        items[index] = None

Este método itera sobre a lista e substitui elementos ímpares por None no local.

Análise de complexidade de tempo

Ambas as soluções têm uma complexidade de tempo linear de O(n), indicando que seu tempo de execução aumenta proporcionalmente com o número de elementos na lista.

Benchmarks de desempenho

Desempenho os benchmarks mostram diferenças insignificantes entre as duas soluções. No entanto, para listas grandes, a compreensão da lista é um pouco mais rápida.

Declaração de lançamento Este artigo foi reimpresso em: 1729160596 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