mirror of https://github.com/python/cpython.git
[3.11] GH-116271 Docs: provide clarification for object assignments in the Tutorial section (GH-116283) (#116306)
Co-authored-by: Kerim Kabirov <39376984+Privat33r-dev@users.noreply.github.com> Co-authored-by: Ned Batchelder <ned@nedbatchelder.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
This commit is contained in:
parent
b6077aaf12
commit
1cc1d0872e
|
@ -405,13 +405,6 @@ indexed and sliced::
|
|||
>>> squares[-3:] # slicing returns a new list
|
||||
[9, 16, 25]
|
||||
|
||||
All slice operations return a new list containing the requested elements. This
|
||||
means that the following slice returns a
|
||||
:ref:`shallow copy <shallow_vs_deep_copy>` of the list::
|
||||
|
||||
>>> squares[:]
|
||||
[1, 4, 9, 16, 25]
|
||||
|
||||
Lists also support operations like concatenation::
|
||||
|
||||
>>> squares + [36, 49, 64, 81, 100]
|
||||
|
@ -435,6 +428,30 @@ the :meth:`!list.append` *method* (we will see more about methods later)::
|
|||
>>> cubes
|
||||
[1, 8, 27, 64, 125, 216, 343]
|
||||
|
||||
Simple assignment in Python never copies data. When you assign a list
|
||||
to a variable, the variable refers to the *existing list*.
|
||||
Any changes you make to the list through one variable will be seen
|
||||
through all other variables that refer to it.::
|
||||
|
||||
>>> rgb = ["Red", "Green", "Blue"]
|
||||
>>> rgba = rgb
|
||||
>>> id(rgb) == id(rgba) # they reference the same object
|
||||
True
|
||||
>>> rgba.append("Alph")
|
||||
>>> rgb
|
||||
["Red", "Green", "Blue", "Alph"]
|
||||
|
||||
All slice operations return a new list containing the requested elements. This
|
||||
means that the following slice returns a
|
||||
:ref:`shallow copy <shallow_vs_deep_copy>` of the list::
|
||||
|
||||
>>> correct_rgba = rgba[:]
|
||||
>>> correct_rgba[-1] = "Alpha"
|
||||
>>> correct_rgba
|
||||
["Red", "Green", "Blue", "Alpha"]
|
||||
>>> rgba
|
||||
["Red", "Green", "Blue", "Alph"]
|
||||
|
||||
Assignment to slices is also possible, and this can even change the size of the
|
||||
list or clear it entirely::
|
||||
|
||||
|
|
Loading…
Reference in New Issue