Modificando uma lista dentro de uma função
Ao trabalhar com parâmetros de lista em funções, as referências passadas para a função apontam para a lista original. Quaisquer modificações feitas na variável list_arg dentro da função estão confinadas ao seu escopo local e não afetarão a lista original.
Para contornar esse problema e modificar a lista original, é necessário atribuir elementos diretamente à lista em vez de reatribuir a lista inteira a um novo valor. Aqui está um exemplo:
def function1(list_arg): a = function2() # function2 returns an array of numbers list_arg[:] = list(a) list1 = [0] * 5 function1(list1) print(list1) # [1, 2, 3, 4, 5]
Neste código modificado, usamos a notação de fatia list_arg[:] para atribuir os elementos de list(a) à lista original, modificando efetivamente a lista no local.
É importante observar que, embora as modificações no local possam parecer convenientes, elas podem se tornar difíceis de compreender e podem causar confusão para os desenvolvedores que mantêm o código. Reatribuições explícitas são geralmente preferidas para maior clareza e legibilidade.
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