Je trouve ça agaçant que je ne puisse pas effacer une liste. Dans cet exemple:Effacer une liste
a = []
a.append(1)
a.append(2)
a = []
La deuxième fois que j'initialiser une à une liste blanche, il crée une nouvelle instance d'une liste, qui est dans un endroit différent dans la mémoire, donc je ne peux pas l'utiliser pour faire référence à la D'abord, sans parler de son inefficacité.
La seule façon que je peux voir de conserver le même pointeur est en train de faire quelque chose comme ce qui suit:
for i in range(len(a)):
a.pop()
Cela semble assez poussif longtemps cependant, est-il une meilleure façon de résoudre ce?
S'il vous plaît développer sur "qui est dans un endroit différent en mémoire, donc je ne peux pas l'utiliser pour référencer le premier" Cela a très peu de sens dans un contexte Python. Peut-être en C++, mais pas en Python. –
Je soulignais simplement que si j'ai une référence à cet objet à partir d'un autre objet, le 'nouveau' a est maintenant différent du premier, donc je ne peux pas utiliser cette même référence pour modifier le nouveau a. Python a toujours le concept des pointeurs et de la gestion de la mémoire, il le cache juste de vous. – Dan
"le 'nouveau' a est maintenant différent du premier" Tout à fait vrai, je ne peux pas voir une situation où cela compte. Un exemple de code plus complet pourrait aider à expliquer où cela aurait réellement de l'importance. –