day 07 深淺拷貝

2022-05-30 23:12:12 字數 1215 閱讀 7970

1. 基礎資料型別的補充 

1字串的操作:

1.join 把字串或者列表的的內拼接,拼接成字串 和split相反--把字串轉換成列表

2.刪除 字典和列表在迴圈中是不能進行刪除的,可以在迴圈中把要刪除的內容放入乙個列表中

,再迴圈新列表,刪除老列表.或者就是用pop()從後面往前面刪

3.fromkeys

dict.fromkeys(iters,value) 把可迭代物件進行迭代,並和後面的value組合成鍵值對,並返回字典

坑1:這個過程是新建乙個字典並賦值的過程,不會改變原來的字典

dic={}

dic.fromkeys(iters,value)

print

(dic)

坑2:d=fromkeys(iters,)

生成的新字典的每乙個每乙個value值都是相同的,所以不管那個key的value改變都一起改變,因為value值是同乙個

2.set集合{}

1.特點:

無序,不重複的,內部元素必須可雜湊:內部元素是屬於不可變的型別

2. 作用

去重:lst=list(set(lst)

3.增改刪查:

1.增:

add()

update("xx

")2.改:

set沒有索引,所以沒辦法定位元素,只能刪除後再新增

remove()

add()

3.刪除

pop() 隨機彈出乙個

remove(

"") 直接刪除元素

claer() 清空後是set(),因為要和dic區分

4.查因為set是乙個可迭代物件,所以可用for迴圈

for el in

set:

print(el)

3.深淺拷貝

1.=賦值,沒有產生新物件那個,兩個物件指向同乙個記憶體位址,

所以說,如果源物件發生改變,被賦值的物件也跟著改變

2.淺拷貝 .copy() [:]只會拷貝第一層內容,第二層內容不會拷貝

3.深拷貝 import

cocy

copy.deepcopy()

深度拷貝,把物件內部所有內容全部拷貝乙份

不會產生乙個改變,另外乙個跟著改變的情況

作用:快速建立物件,減少記憶體的占用

07 day 補充 深淺拷貝

基礎資料型別相關知識點補充 str join 把列表變成字串 例如 lst 送你離開 千里之外 你無聲對白 c lst join lst print c lst li 黃花大閨女 s join li print s 列表不能在迴圈的時候刪除 因為索引會跟著改變 字典也不能直接迴圈時刪除 把要刪除的內...

day07 st集合 深淺拷貝

集合 set 集合,儲存大量資料,不可以重複特點 無序,不可重複,內容可雜湊,本身不可雜湊 k frozenset 集合 它就會變成乙個可雜湊的了 增 s.add 內容 s.update 內容 迭代新增 刪 s.pop 隨機刪除乙個,並返回刪除的那個內容 s.remove 指定元素 刪除指定元素,如...

day07 模組匯入

import hashlib import sys def check md5 fname m hashlib.md5 with open fname,rb as fobj while true data fobj.read 4096 if not data break m.update data ...