PYTHON資料型別(基礎)
一、串列、字典、元祖、集合的基本操作
-
串列
-
創建
l1=[] l1=list() l1=list(['你好',6]) -
增
l1.append('hu') l1.insert(2,'Hu') l1.extend()#迭代增加 -
刪
l1.pop() del l1[-1] l1.remove('Hu') l1.clear() -
改
l1[0:]='hello'
-
-
元祖
-
創建
tu=[] tu=tuple() tu=tuple((1,2))
-
-
字典
-
創建
dic={} dic=dict(((1,2),(3,4),(5,6))) dic=dict([(1,2),(3,4),(5,6)]) dic=dict(one=1,two=2,three=3) dic=dic({'one':1,'two':2,'three':3}) -
增改
dic['name']=2#有則改,無則加 dic.setdefault('age');dic.setdefault('age',18)#有則不變,無則增加 -
洗掉
dic.pop('age') del dic['age'] dic.clear() -
查
dic['age'] dic.get('name') -
特殊
dic.keys() dic.values() dic.items()#得到元祖 list(dic.keys())#轉化為串列 list(dic.values())
-
-
集合(內元素不可變,本身卻是可變)
-
創建
set1=set() set1={}#錯誤 set1=set({1,'name',2,3}) set1={1,2,4} -
增
set1.add('hello') set1.update([1,2])#迭代這增加 -
刪
set1.pop()#隨機洗掉 set1.remove('alex') -
改
#只能變相改 set.remove('alex') set.add('hu') -
關系
set1&set2#交集 set1-set2#差集 set1|set2#并集 set1^ste2#反交集 set1<set2#判斷子集 set1>set2#判斷超集
-
二、代碼塊概念
- 在終端模式(console)每一行就是一個代碼塊;檔案也是一個代碼塊
- 在代碼塊內遵循一種機制:int bool str型別的資料相同時,有快取機制,不同變數名使用一個地址的資料,可變型別的資料型別,沒有快取機制,不同變數即使參考的資料相同,也另開辟空間,使用不同地址,
- 在不同代碼塊內: bool、滿足規則的 str, -5—256的int,適用快取機制,否則都不適合
三、深淺copy
淺copy:l2=l1.copy()或者,l2=l1[:]
深copy:import copy
l2=copy.deepcopy(l1)
說明:變數對于計算機都是存放要指向的那個記憶體塊的地址,然后指向它,
#兩者的共同點:
1.淺深copy,l1,l2都是指向不同的開辟的空間,串列指向的不可變資料型別的記憶體塊都是相同的,
#兩者的區別
2.深copy串列指向的可變資料型別的記憶體塊不同(嵌套的可變的資料型別不是同一個),淺copy指向的可變型別的記憶體塊相同(嵌套的可變的資料型別是同一個)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/170791.html
標籤:Python
