欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3 深淺copy對(duì)比詳解

 更新時(shí)間:2019年08月12日 10:06:37   作者:宋鵬超  
這篇文章主要介紹了python3 深淺copy對(duì)比詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、賦值對(duì)比

1、列表

l1 = [1,2,3]
l2 = l1
l1.append('a')
print(l1,l2)        #[1, 2, 3, 'a'] [1, 2, 3, 'a']
print(id(l1),id(l2))     #43499848 43499848
#可以看到兩個(gè)列表的值以及id值相同,對(duì)應(yīng)的是同一個(gè)內(nèi)存地址

2、字典

dic = {'name':'barry'}
dic1 = dic
dic['age'] = 18
print(dic,dic1)      #{'name': 'barry', 'age': 18} {'name': 'barry', 'age': 18}
print(id(dic),id(dic1))    #31157344 31157344
#可以看到兩個(gè)字典的值以及id值相同,對(duì)應(yīng)的是同一個(gè)內(nèi)存地址

3、字符串

s = 'alex'
s1 = s
s2 = s.replace('a','A')
print(s,s1,s2)         #alex alex Alex
print(id(s),id(s1),id(s2))      #31040208 31040208 31040376
#賦值是同一個(gè)內(nèi)存地址,替換字符串后的變量s2是另外的地址

二、深淺copy

1、淺copy

對(duì)于淺copy來(lái)說(shuō),第一層創(chuàng)建的是新的內(nèi)存地址。而從第二層開(kāi)始,指向的是同一個(gè)內(nèi)存地址,所有,對(duì)于第二層以及更深的層數(shù)來(lái)說(shuō),保持一致性。

# 1、普通淺copy

l1 = [1,2,3,4]
l2 = l1.copy()
l1.append('a')
print(l1,l2)           #[1, 2, 3, 4, 'a'] [1, 2, 3, 4]
print(id(l1),id(l2))       #37077320 37078664
#id內(nèi)存地址不一樣,創(chuàng)建了兩個(gè)地址空間,一個(gè)改變,另一個(gè)不會(huì)變化

# 2、嵌套淺copy

import copy
l1 = [1,[22,33,44],3,4,]
l2 = copy.deepcopy(l1)
# 改變第一層
l1[0] = 111
print(l1,l2)          #[111, [22, 33, 44], 3, 4] [1, [22, 33, 44], 3, 4]
print(id(l1),id(l2))      #43238536 43239048
# 改變第二層
l1[1].append('a')
print(l1,l2)          # [111, [22, 33, 44, 'a'], 3, 4] [1, [22, 33, 44], 3, 4]
print(id(l1),id(l2))      #43238536 43239048

2、 深copy.deepcopy()

對(duì)于深copy來(lái)說(shuō),兩個(gè)是完全獨(dú)立的,改變?nèi)我庖粋€(gè)的元素(無(wú)論是多少層),另一個(gè)絕不會(huì)改變。

import copy
l1 = [1,[22,33,44],3,4,]
l2 = copy.deepcopy(l1)
# 改變第一層
l1[0] = 111
print(l1,l2)          #[111, [22, 33, 44], 3, 4] [1, [22, 33, 44], 3, 4]
print(id(l1),id(l2))      #43238536 43239048
# 改變第二層
l1[1].append('a')
print(l1,l2)          # [111, [22, 33, 44, 'a'], 3, 4] [1, [22, 33, 44], 3, 4]
print(id(l1),id(l2))      #43238536 43239048

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法

    python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法

    這篇文章主要介紹了python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法,涉及Python操作URL及網(wǎng)頁(yè)內(nèi)容的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • python使用正則表達(dá)式來(lái)獲取文件名的前綴方法

    python使用正則表達(dá)式來(lái)獲取文件名的前綴方法

    今天小編就為大家分享一篇python使用正則表達(dá)式來(lái)獲取文件名的前綴方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 基于Python在MacOS上安裝robotframework-ride

    基于Python在MacOS上安裝robotframework-ride

    今天小編就為大家分享一篇關(guān)于基于Python在MacOS上安裝robotframework-ride,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Pytorch中實(shí)現(xiàn)CPU和GPU之間的切換的兩種方法

    Pytorch中實(shí)現(xiàn)CPU和GPU之間的切換的兩種方法

    本文主要介紹了Pytorch中實(shí)現(xiàn)CPU和GPU之間的切換的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 如何利用Matplotlib庫(kù)繪制動(dòng)畫(huà)及保存GIF圖片

    如何利用Matplotlib庫(kù)繪制動(dòng)畫(huà)及保存GIF圖片

    這篇文章主要給大家介紹了關(guān)于如何利用Matplotlib庫(kù)繪制動(dòng)畫(huà)及保存GIF圖片的相關(guān)資料,matplotlib模塊提供了很高級(jí)和非常友好的使用方式,使用起來(lái)也是非常方便的,需要的朋友可以參考下
    2021-06-06
  • python計(jì)算圓周率的5種方法

    python計(jì)算圓周率的5種方法

    這篇文章主要給大家介紹了關(guān)于python計(jì)算圓周率的5種方法,圓周率(Pi)是圓的周長(zhǎng)與直徑的比值,一般用希臘字母π表示,是一個(gè)在數(shù)學(xué)及物理學(xué)中普遍存在的數(shù)學(xué)常數(shù),需要的朋友可以參考下
    2023-07-07
  • Python?GUI布局工具Tkinter入門(mén)之旅

    Python?GUI布局工具Tkinter入門(mén)之旅

    這篇文章主要為大家介紹了Python?GUI布局工具Tkinter的基礎(chǔ),Tkinter?作為?Python?的標(biāo)準(zhǔn)庫(kù),是非常流行的?Python?GUI?工具,同時(shí)也是非常容易學(xué)習(xí)的,今天我們就來(lái)開(kāi)啟?Tkinter的入門(mén)之旅
    2022-08-08
  • python快速入門(mén)題目詳解

    python快速入門(mén)題目詳解

    下面小編就為大家?guī)?lái)一篇快速入門(mén)python的題目詳解小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-11-11
  • python 基于opencv操作攝像頭

    python 基于opencv操作攝像頭

    這篇文章主要介紹了python 基于opencv操作攝像頭的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

    Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

    這篇文章主要介紹了Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法,結(jié)合實(shí)例形式分析了Python使用Image.blend()接口與Image.composite()接口進(jìn)行圖像合成的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01

最新評(píng)論