小資料池和深淺拷貝

2022-08-14 04:21:11 字數 1359 閱讀 6876

先執行**塊,不符合**塊才使用小資料池

數字支援範圍-5~256

is 和 ==

is:判斷兩個記憶體位址是否相同

==:判斷兩個值是不是相等

is相同的,==一定成立

==相同的,is不一定成立

字串字串在做乘法的時候總長度不能超過20

自己定義的字串,長度不限制,字串必須由數字,字母,下劃線組成

特殊字元(中文除外)最多允許有乙個駐留

字串*1就是賦值

數字全部駐留

字串字元做乘法,總長度不能超過20

自定義的都駐留

乘數為1的時候,是賦值

總結小資料池--支援:str,int,bool

小資料池數字:-5~256

小資料池字串:乘法時長度不能超過20

如何自己駐留:

需要使用python模組:from sys import intern:

定義集合就是個沒有值的字典,遵循:唯一,無序,元素可雜湊

集合是無序的用法增

s.update()#迭代新增

s.add()

不支援加法

刪s.pop() #隨機刪除

s.remove("元素") #通過元素刪除

del s #刪除整個集合

clear #清空

改先刪,再加

查for

去重原理時集合中的元素唯一

其他操作

差集 s1-s2

並集 s1 | s2

交集 s1 & s2

對稱差集--反交集 s1 ^ s2

print(s1 > s2) 超集 判斷s2是不是s1的子集

凍結集合

可變轉換成不可變

frozenset()

去重li=

print(list(set(li)))

定義淺拷貝:只拷貝第一層

會建立乙個新的容器,兩個列表公用乙份位址

修改不可變資料型別,不變動,修改可變資料型別,變動

怎麼用

dic = {}   # "v":4

li = #[,,,,]

for i in range(0,5):

dic["v"] = i

print(li)

深拷貝:

import copy

li = [3,4,5,[1,2,3,4],6,7,8,]

l2 = copy.deepcopy(li)

li[-1]['k'] = "a"

print(li)

print(l2)

在哪用不讓修改原資料的時候

python 小資料池 深淺拷貝 集合

1.小資料池 1.1 塊 乙個檔案,乙個函式,乙個類,乙個模組,終端中每一行 1.1.1 數字 5 256 1.1.2 字串 乘法時總長度不能超過20 1.1.3 布林值 內容相同記憶體位址相同 1.2 小資料池 1.2.1 數字 5 256 1.2.2 字串 乘法時總長度不能超過20 1.2.3 ...

day06 小資料池 深淺拷貝 集合

小資料池 快取機制 駐留機制 只是一種規格,不會實際的開闢乙個空間 a 10 b 10 print a b a 10 b 10 print a is b is判斷基於記憶體位址進行判斷 print id a print id b 小資料池支援的物件也是 數字,字串,布林值 乘法的時候總長度不能超過2...

Python基礎之小資料池及深淺拷貝

先執行 塊,然後小資料池 塊機制內容 python在執行同乙個 塊的初始化物件的命令時,會檢查是否其值是否已經存在,如果存在,會將其重用。換句話說 執行同乙個 塊時,遇到初始化物件的命令時,他會將初始化的這個變數與值儲存在乙個字典中,在遇到新的變數時,會先在字典中查詢記錄,如果有同樣的記錄那麼它會重...