Ich finde es ärgerlich, dass ich eine Liste nicht löschen kann. In diesem Beispiel:Löschen einer Liste
a = []
a.append(1)
a.append(2)
a = []
Das zweite Mal, dass ich eine auf eine leere Liste initialisieren, erstellt es eine neue Instanz einer Liste, die an einem anderen Ort im Speicher vorhanden ist, so kann ich es nicht referenzieren dem Erstens, um nicht zu sagen, es ist ineffizient.
Die einzige Art, wie ich die Beibehaltung der gleichen Zeiger sehen kann, ist, etwas zu tun wie folgt aus:
for i in range(len(a)):
a.pop()
Das scheint ziemlich obwohl langatmig, gibt es einen besseren Weg, dies zu lösen?
Bitte erweitern Sie auf "das ist an einem anderen Ort im Speicher, so dass ich es nicht verwenden kann, um die erste Referenz" Dies macht sehr wenig Sinn in einem Python-Kontext. Vielleicht in C++, aber nicht in Python. –
Ich habe nur darauf hingewiesen, dass, wenn ich einen Verweis auf dieses Objekt innerhalb eines anderen Objekts habe, das 'neue' a jetzt ein anderes ist als das erste, so kann ich nicht denselben Verweis verwenden, um das neue a zu modifizieren. Python hat immer noch das Konzept von Zeigern und Speicherverwaltung, es versteckt es nur vor dir. – Dan
"das 'neue' a ist jetzt ein anderes als das erste" Obwohl absolut wahr, kann ich keine Situation sehen, in der das wichtig ist. Ein vollständigeres Codebeispiel könnte helfen zu erklären, wo dies tatsächlich von Bedeutung wäre. –