Em Python é possível atribuir conteúdo às variáveis de dois modos:
a = b = ""
ou
a = "" b = ""
A primeira forma é um atalho, né? Mais prática e sucinta, mas esconde uma pegadinha.
Se eu usar esse atalho com dicionários ou listas, por exemplo, veja o que pode acontecer:
a = b = []
a.append("a")
print a
print bEstranho, né?
Tente fazer o mesmo com um dicionário e você terá o mesmo resultado.
Agora tente assim:
a = []
b = []
a.append("a")
print a
print bPronto. Acho que era isso que a gente queria, certo?
Aproveite e dê uma lida no post Pegadinha: parâmetro default que fala de um assunto parecido.
# uma alternativa para atribuir varias listas
ResponderExcluira, b, c, d, e = ([] for _ in xrange(5))
Esse tipo de pegadinha, creio eu, ( não tenho lá muitos conhecimentos em programação com python, afinal tenho apenas 16 anos, kk) é o fato dela fazer atribuição "diretamente" na memoria do objeto. Visto que os dois apontam para o mesmo endereço deve ser normal ambos os objetos armazerem o mesmo valor.
ResponderExcluirE a alternativa citada assim é bem legal. xD
Acho ser essa uma resposta.
flw brother.