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