Python -Liste verweist auf sich selbst - Wie funktioniert es?Python

Python-Programme
Anonymous
 Python -Liste verweist auf sich selbst - Wie funktioniert es?

Post by Anonymous »

Wenn ich in Python = Operator benutze, erstellt Python ein Objekt für mich (falls es nicht existiert), und verknüpft dann meine Variable damit. Also < /p>

>>>a = 1
>>>b = a
>>>a = 2
>>>print(f'{a}, {b}')
2, 1
< /code>

scheint in Ordnung zu sein. Wenn ich ein Objekt ändere, verweisen Zeiger für veränderliche Objekte immer noch auf dasselbe Objekt. Dies ist also auch in Ordnung: < /p>

>>>a = []
>>>b = a
>>>a = a.append(1)
>>>print(f'{a}, {b}')
[1], [1]
< /code>

Was ist jetzt, wenn ich das tun werde: < /p>

>>>a = [1]
>>>a[0] = a
>>>print(f'{a}')
< /code>

Was ich erwartet hatte, sind unendliche Links, sodass dies einen Fehler liefern sollte, aber Python -Handhabung normalerweise und beschreibt a als [[...]]. Jetzt kann ich auf Objekt einer Tiefe zugreifen und [0] [0] [0] [0] [0] und es wäre immer noch [[...]]. Eigentlich sollte [1] irgendwo im Speicher sein, aber ich kann nicht darauf zugreifen.>>>a[0][0][0] = 5
< /code>

Ich würde erwarten, dass A entweder [[5]] wird oder es von selbst 5 wird (seltsam, aber ich könnte sagen, es hat einen Sinn).
Eigentlich nein. a wird [5]. < /p>

Könnte jemand erklären, warum? Wie funktioniert es?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post