Substituindo valores em uma lista com base em uma condição em Python
Em Python, você pode encontrar cenários em que precisa manipular elementos dentro de um lista, como substituir valores com base em uma condição específica. Ao aproveitar técnicas eficientes, você pode realizar essas modificações de maneira eficaz.
Um método envolve a utilização de compreensão de lista. Por exemplo, se você tiver uma lista [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] e quiser substituir elementos onde o módulo de 2 é igual a 0, você pode usar a seguinte compreensão :
new_items = [x if x % 2 else None for x in items]
Esta compreensão cria uma nova lista onde cada elemento é verificado em relação à condição (x % 2). Se a condição for Falsa, o valor original (x) será retido. Caso contrário, o elemento será substituído por Nenhum.
Como alternativa, você pode modificar a lista no local usando um loop for:
for index, item in enumerate(items): if not (item % 2): items[index] = None
Esta solução itera na lista, identifica os elementos que atendem à condição (item % 2) e, em seguida, atribui None a essas posições.
A análise de complexidade de tempo mostra que ambas as abordagens levam aproximadamente a mesma quantidade de tempo. No Python 3.6.3, a compreensão da lista supera ligeiramente o loop for em termos de velocidade, enquanto no Python 2.7.6, o desempenho é comparável.
Portanto, o método mais eficiente para substituir valores em uma lista com base Uma condição é utilizar a compreensão de lista, pois atinge o resultado desejado de forma clara e concisa. Esta técnica pode ser particularmente útil ao trabalhar com listas grandes, pois minimiza o número de operações necessárias.
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