1. 程式人生 > >join方法,set集合,深淺拷貝.

join方法,set集合,深淺拷貝.

交集 區別 復制 回顧 decode 沒有 創建 符號 影響

上節課回顧
1.
python裏的(int,str)存在一個小數據池主要是為了節約內存.
int: -5~256 str:
is和 == 的區別:is比較的是內存地址,==比較的兩邊的值.
id(地址).
2.編碼
1.ASCII, 英文, 數字, 一些特殊符號 8bit 1byte
2. GBK, 國標碼, 漢字. 16bit 2byte 必須兼容ASCII
3. UNICODE, 萬國碼, 32bit 4byte , 兼容ASCII
4. UTF-8 可變長度的萬國碼
英文: 8bit 1byte
歐洲: 16bit 2byte
漢字: 24bit 3byte

在網絡傳輸和數據存儲的時候. 換gbk, utf-8(90%)
編碼用(encode) unicode變成你需要的解碼
編碼之後的內容是字節(bytes類型)
解碼用(decode): 把目標bytes轉換成字符串
最後用什麽編碼,就要用什麽解碼.
新課:
1.對之前的知識點進行補充
1. str中的join方法 (將列表轉換成字符串)
2.列表和字典在循環的時候不能直接刪除.
需要把要刪除的內容記錄在新列表中
然後循環新列表.刪除字典或列表.
3. fromkeys()
返回新字典. 對原字典沒有影響
後面的value.是多個key共享一個value

字符串轉換成列表:split()
把列表換成字符串:join()

join(可叠代對象)

(列表和字典都不能呢在for循環的時候進行刪除,字典再循環的時候不允許改變大小)
for循環的時候,發現,剩余了

操作:添加一個新列表
新列表append添加內容
這樣才能刪除你要的結果

Foley 跟空沾邊的都是Foley

2.set集合
特點
集合中的元素必須是可哈西的,不重復.
set續重 把重復的去掉
只保存key.set
(集合本身是可變的數據類型,不可哈西,有增刪改查操作)
查詢可以叠代對象for操作
&交集,|並集,^反交集
frozenset()凍結的集合. 不可變的. 可哈希的
3.深淺拷貝
1.淺拷貝
lst1 = ["何炅", "杜海濤","周渝民", ["麻花藤", "馬蕓", "周筆暢"]]
lst2 = lst1.copy() #復制
lst1[3].append("無敵多寂寞")
print(1)結果一樣
print(2)結果一樣
淺拷貝.只會拷貝第一層,第二層的內容不會拷貝.所以稱為淺拷貝.
拷貝第一層內容. [:]或copy()
2.深拷貝
拷貝所有內容. 包括內部的所有.
lst2 = copy.deepcopy"(lst1)
3總結
賦值.賦值操作沒有創建新對象.公用同一個對象

join方法,set集合,深淺拷貝.