python之路13 python的深淺拷貝

2022-07-27 21:24:20 字數 2847 閱讀 7690

列表和字典不能直接刪除,如果要刪除,則先遍歷列表或字典,將要刪除的值放在另乙個列表,然後遍歷另乙個列表來刪除此列表。

li = [11, 22, 33, 44, 55]

#刪除大於33的值

re =

for el inli:

if el > 33:

for el inre:

li.remove(el)

print(li) #[11, 22, 33]

淺拷貝li中的[44, 55]實際是個記憶體位址,li1拷貝的時候拷貝了同乙個記憶體位址

li = [11,22,33,[44,55]]

li1 =li.copy()

print(li,li1) #[11, 22, 33, [44, 55, 66]] [11, 22, 33, [44, 55, 66]]

深拷貝

import

copy

li = [11, 22, 33, [44, 55]]

li1 =copy.deepcopy(li)

print(li, li1) #

[11, 22, 33, [44, 55, 66]] [11, 22, 33, [44, 55]]

一、數字和字串對於 數字 和 字串 而言,賦值、淺拷貝和深拷貝無意義,因為其永遠指向同乙個記憶體位址。12

3456

78910

1112

1314

15importcopy

# ######### 數字、字串 #########

n1=123

# n1 = "i am alex age 10"

print(id(n1))

# ## 賦值 ##

n2=n1

print(id(n2))

# ## 淺拷貝 ##

n2=copy.copy(n1)

print(id(n2))

# ## 深拷貝 ##

二、其他基本資料型別

對於字典、元祖、列表 而言,進行賦值、淺拷貝和深拷貝時,其記憶體位址的變化是不同的。

1、賦值12

2、淺拷貝

淺拷貝,在記憶體中只額外建立第一層資料12

3、深拷貝

深拷貝,在記憶體中將所有的資料重新建立乙份(排除最後一層,即:python內部對字串和數字的優化)12

python之路 day13 模組

1,什麼是模組 模組就是系統功能的集合體,在python中,乙個py檔案就是乙個模組,例如 module.py 其中module叫做模組名 2,使用模組 2.1 import匯入模組 首次帶入模組發生三件事 1,建立乙個模組的命名空間 2,執行模組對應檔案,將產生的名字存放於1中的命名空間 3,在當...

python學習之路 第一天 接觸python

簡明python教程 簡單 專注於解決問題而不是關注語言本身 易學 容易上手 開源 免費 可移植性非常強,基本可以在所有平台執行 解釋性語言 物件導向 python可以物件導向也可以面向過程,總之就是很強大 在命令列直接輸入python進入python命令列之後,我們輸入print hello wo...

Python學習之路 day 13 迭代器

一.迭代器介紹 1.什麼是迭代器 1.1.迭代器指的是迭代取值的工具 1.2.迭代是一重複的過程,每一次重複都是基於上一次的結果而來 單純的重複不是迭代 i 0 while true print i 迭代 重複 每次重複都是基於上一次的結果而進行 l a b c i 0while i len l p...