官术网_书友最值得收藏!

Copying lists

We have seen that Python variables are nothing but references to actual objects. The same holds true for lists. For this reason, manipulating lists gets a little tricky. By default, if we copy one list variable to another one by simply using the = operator, it won't actually create a duplicate or local copy of the list for that variable – instead, it would just create another reference and point the newly created reference toward the same memory location. Thus, when we make a change to the copied variable, the same change will be reflected in the original list. In the following example, we will create new isolated copies, where a change in the copied variable will not be reflected in the original list:

Now, let's look at how can we create a new copy of an existing list so that the changes to the new one do not cause any changes to the existing one:

Another way to create the isolated copy of the original list is to make use of the copy and deepcopy functions that are available in Python. A shallow copy constructs a new object and then inserts references to that object to the objects found in the original list. A deep copy, on the other hand, constructs a new compound object and then recursively inserts copies of the objects found in the original list:

主站蜘蛛池模板: 尚义县| 垣曲县| 灵川县| 南岸区| 壶关县| 亚东县| 枣强县| 宾阳县| 清远市| 蓬溪县| 久治县| 禄劝| 永泰县| 丹江口市| 武宣县| 呼图壁县| 海淀区| 宁晋县| 区。| 额敏县| 廉江市| 云安县| 孙吴县| 彰武县| 隆尧县| 江津市| 雅安市| 兰西县| 敦煌市| 石河子市| 偃师市| 宁蒗| 铅山县| 吐鲁番市| 湖口县| 思南县| 无棣县| 讷河市| 商水县| 德昌县| 读书|