== 比較的是兩邊的值是否相等
is 判斷的記憶體位址是否相同
id 相同,值一定相同
值 相同,id不一定相同
我們所有的**都需要依賴於**塊執行,乙個py檔案就是乙個**塊.互動式命令下一行就是乙個**塊.
**塊的兩個機制
同一**塊下有個乙個機制.
- 機制內容---> int(float):任何數字在同一**塊下都會復用,str:幾乎所有的字串都會符合快取機制,bool:true和false在字典中會以1,0方式存在,並且復用
- 目的(優點):節約記憶體,提公升效能.
- 適用的物件:int,bool,str
- 具體細則:所有的數字,bool,幾乎所有的字串
不同**塊下,遵循另乙個機制(小資料池)
- 機制內容 int:那麼大家都知道對於整數來說,小資料池的範圍是-5~256 ,如果多個變數都是指向同乙個(在這個範圍內的)數字,他們在記憶體中指向的都是乙個記憶體位址,str字串只含有大小寫字母,數字,下劃線,並且長度不過長時會駐留
- 目的(優點):節約記憶體,提公升效能
- 適用的物件:int,bool,str
- 具體細則:-5~256的數字,bool,滿足規則的字串
- 列表的去重
- 關係測試: 交集,並集,差級....
set()
注意:{}是空字典不是空集合
- add 增加
- update 迭代的增加
- remove 按照元素刪
- pop 隨機刪除
- 變相改值: 刪除後加入
- 交集:& 2個集合共有的
- 並集:| 2個集合所有的元素
- 差集:- 第乙個集合有,第二個集合沒有的
- 反交集:^ 除了兩個集合共有的,其他元素組成的集合
子集,超集 包含和被包含的關係.被包含的為子集,包含的是超集
將列表轉化為集合則自動去重,再轉化為列表即可
淺拷貝:在記憶體中開開闢乙個新的空間,存放copy的物件(列表,字典但是裡面的所有元素與被copy物件裡面的元素共同乙個)
python對深copy進行乙個優化.將不可變的資料型別沿用同乙個,可變型別建立乙個新記憶體空間
深copy:巢狀的可變的資料型別不是同乙個
使用方法
import copy --->引用copy模組
s=[1,2,3,4]
ss=s.copy()
set集合和深淺拷貝
set 集合 不重複,無序,內容必須可hash 不可變 可用來去重複 lst 1,2,3,4,1,2,3,4,5 s set lst lst list s print lst 1,2,3,4,5 增加.add update 迭代新增 update abc 刪除.remove 直接刪除,不存在會報錯 ...
集合set 和 深淺copy
集合是無序的,不重複的資料集合,它裡面的元素是可雜湊 不可變型別 但是集合本身是不可雜湊,所以集合做不了字典的鍵 集合最重要的2點 去重 把乙個列表變成集合,就自動去重了。關係測試 測試兩組資料之間的交集 並集 差集等關係 1 set set 2 set 1 add.2 set 3set.add s...
python 集合和深淺拷貝
一.知識點補充 1.列表和字典不能在迴圈過程中進行增刪操作,因為列表索引在迴圈過程會發生改變,字典規定迴圈不可改變.刪除方法 將需要大量刪除的列表或者字典遍歷取出要刪除的物件,放入乙個空列表,之後對列表進行迴圈遍歷,刪除原列表或字典.2.fromkeys a b 不會對原來的字典產生影響.產生新字典...