1. 程式人生 > >[Python]列表複製的幾種方法

[Python]列表複製的幾種方法

         為了追蹤記憶體中的物件,Python採用了引用計數這一簡單技術。變數實際是記憶體物件的別名,可以看成是C++中引用。當引用計數為0時,該物件就稱為垃圾回收機制的回收物件。所以下面的列表複製只是將給列表又起了個別名而已:

>>> a = [4,5,6,7,9,8,5,2]
>>> a
[4, 5, 6, 7, 9, 8, 5, 2]
>>> b = a
>>> id(a),id(b)
(20249936, 20249936)

為了得到列表真正的拷貝,可以使用下面幾種方法:

方式一:切片操作

>>> c = a[:]
>>> id(a),id(c)
(20249936, 20258128)
方式二:list()函式
>>> d = list(a)
>>> id(d),id(a)
(20245400, 20249936)
方式三: 
>>> e = a * 1
>>> id(a),id(e)
(20249936, 20250056)
方式四:
>>> import copy
>>> f = copy.copy(a)
>>> id(a),id(f)
(20249936, 20085496)
方式五:
>>> x = [1,2,3,[4,5]]
>>> y = copy.copy(x)
>>> x[3][1] = 7
>>> y
[1, 2, 3, [4, 7]]
>>> y = copy.deepcopy(x)
>>> x[3][1] = 9
>>> y
[1, 2, 3, [4, 7]]
       可以看到,當列表中還有列表時,只有copy.deepcopy()才能得到包括子列表在內的完全拷貝。


REF:http://www.cnblogs.com/ifantastic/p/3811145.html

相關推薦

python列表的11方法

python列表 模塊 xtend 文章 list star 方式 sort epc python列表的11種方法2017年11月24日 03:26:43 Milton-Long 閱讀數:254版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.

Python文字處理方法

Python文字處理幾種方法 方法一:readline函式 #-*- coding: UTF-8 -*- f = open("D:\pythontest\splm_ugslmd.log")    &nbs

[Python]列表複製方法

         為了追蹤記憶體中的物件,Python採用了引用計數這一簡單技術。變數實際是記憶體物件的別名,可以看成是C++中引用。當引用計數為0時,該物件就稱為垃圾回收機制的回收物件。所以下面的列表複製只是將給列表又起了個別名而已: >>> a =

python 列表去重(陣列)的方法

一、方法1  程式碼如下 複製程式碼 ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids:     if id not in news_ids:         n

python字串複製方法

>>> list1 = [1,2] >>> id(list1) 50081032 >>> list2 = list1.copy() >>> print(list1 == list2) True >>> id(lis

列表複製方法

複製列表的方法# coding = utf-8 import  copy list  =  [ 1 , 2 , 3 ]   # 普通賦值(引用) list_a 

python 列表去重的方法

1 a = [1,1,1,2,3,3,4,5,6,6,6] a1 = [] for i in a: if i not a1: a1.append(i) else: continue 2 a = [1,1,1,1,2,3,4,4,4,5] a

Python列表去重的方法

工作中,面試中經常會碰到列表去重的問題,有必要總結下:方法一: 使用內建set方法來去重>>> lst1 = [2, 1, 3, 4, 1] >>> lst2 = l

python調試的方法

自動 一個 修復bug fun comm .info 下一步 asi recent 調試 From :https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/

Python 下載圖片的方法

load color quest content 利用 pytho get .com 圖片 總結下: url = ‘http://img.pconline.com.cn/images/upload/upc/tx/photoblog/1707/31/c14/54293429_

python爬蟲--解析網頁方法之正則表達式

ima 3.5 ref string tex href quest user lin 1、正則表達式 正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 re 模塊使 Python 語言擁有全部的正則表達式功能。 re.match函數 re.

python爬蟲--解析網頁方法之BeautifulSoup

first div xml html find 抓取 XML 格式 速度慢 析取 一.解析器概述 soup=BeautifulSoup(response.body) 對網頁進行析取時,並未規定解析器,此時使用的是python內部默認的解析器“html.parser”

Python中叠代輸出(index,value)的方法

lan 隨筆 art 此外 range spa 詳細介紹 參考 pri 需求如下:叠代輸出序列的索引(index)和索引值(value)。 1.創建測試列表: >>> lst = [1,2,3,4,5] 2.實現方法如下: #方法1:range()+

Python爬蟲系列:判斷目標網頁編碼的方法

qpi data- tps 分享 運行 ofo html nbsp 來看 在爬取網頁內容時,了解目標網站所用編碼是非常重要的,本文介紹幾種常用的方法,並使用幾個網站進行簡單測試。 代碼運行結果: 從不同國家的幾個網站測試結果來看,utf8使用的較多(對於純英文網站,用什

Python創建dict的方法

range () OS style 元組 art 列表創建 pre clas 聲明:轉自CSDN (http://blog.csdn.net/csujiangyu/article/details/45176399) 1. 創建空字典 >>> dic =

列表去重的方法

元素 not 切片 end 刪除 append class OS ear #方法一:(遍歷去重) >>>list1 = [1,2,3,4,5,5,4,3,2,1,0] >>>temp = list1[:]  #切片拷貝 >>&

python將字符串轉換成字典的方法

AS ast clas 行處理 模塊 IT python color AR 當我們遇到類似於{‘a’:1, ‘b‘:2, ‘c‘:3}這種字符串時,想要把它轉換成字典進行處理,可以使用以下幾種方法: 1. Python自帶的eval函數(不安全) dictstr = ‘{

python解壓壓縮包的方法

打包工具 ESS rfi keyword 寫入 解壓 os.path gzip action python解壓壓縮包的幾種方法 .gz .tar .tgz .zip .rar 簡介 gz: 即gzip,通常只能壓縮一個文件。與tar結合起來就可以實

python字典遍歷的方法

pytho int itl 遍歷字典 value spa 分享 技術 字典 (1)遍歷key值 >>> a {‘a‘: ‘1‘, ‘b‘: ‘2‘, ‘c‘: ‘3‘} >>> for key in a: print(

關於python字符串拼接的方法

定義 input 表數 根據 技術 image 友情 不能 mat 當時看完python的基本語法後 給朋友寫了個美元概率換算 寫完後拼接結果時候 發現壓根不知道python怎麽拼接字符串 看了些資料自己做了個總結 首先就是和JavaScript一樣的拼接方式 name