"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 > Por que o uso do operador STAR para inicializar uma lista de listas causa a ligação?

Por que o uso do operador STAR para inicializar uma lista de listas causa a ligação?

Postado em 2025-02-12
Navegar:488

Why Does Using the Star Operator to Initialize a List of Lists Cause Linkage?

Por que esse código para inicializar uma lista de listas aparentemente vincula as listas? = [[]] * N pode resultar em comportamento inesperado em que as listas parecem estar vinculadas juntas. para o mesmo objeto de lista subjacente. Quando você modifica uma das listas da sequência, as alterações são refletidas em todas as outras listas porque todas se referem ao mesmo objeto. , é importante inicializar cada lista separadamente. Isso pode ser alcançado usando a seguinte sintaxe:

x = [[] para i em range (n)]

neste caso, a compreensão da lista cria uma nova lista para cada iteração do loop, resultando em uma lista de objetos de lista independentes. []] * 3 x [1] .Append (0) print (x) # saída: [[0], [0], [0]]

Neste exemplo, a lista x contém três referências ao mesmo objeto de lista, portanto, quaisquer modificações feitas em uma lista afetam Os outros. x [1] .Append (0) print (x) # saída: [[], [0], []]

aqui, cada lista em x é um objeto separado; portanto, as alterações feitas em uma lista não afetam os outros.
            
Declaração de lançamento Este artigo é reproduzido em: 1729212679 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