6、集合類型python
1.用途:關係運算編碼
2.定義方式:s = {1,2,’a’}code
{}內用,分隔開多個元素,每一個元素都必須是不可變(便可hash)類型內存
強調:2.1集合內的元素時無序的utf-8
2.2集合內的元素不能重複unicode
2.3集合內元素必須不可變rem
集合的目的是將值放在一塊兒,無需糾結單個值字符串
單純用集合去重,須要注意的問題:hash
1.去重的目標所包含的值必須都要爲不可變類型字符編碼
2.去重的結果會打亂原來的順序
3.經常使用的內置方法和操做
①長度 len ②in/not in
③a = {‘a’, 2, ’g’} b = {‘a’, 5, 8}
並集 | (a|b) 交集 & (a&b) 差集 - (a-b)
對稱差集 ^ (a^b) 等於== 父集 > >= 子集 < <=
④a.isdisjoint() 沒有交集就返回True
⑤a.add() 添加單個值 ⑥a.update({2,5,6}) 添加一個集合
⑦a.pop() 刪除隨機 ⑧a.remove(5) 刪除指定值
⑨a.discard(9) 刪指定值,不存在也不會報錯
總結:存多個值,無序,可變
字符編碼:
什麼是字符編碼?
將人類的字符編碼成計算機能識別的數字,這種轉換必須遵循一套固定的標準,這種對應關係稱爲字符編碼表
ASCII碼錶:用1Bytes表示一個英文字符
GBK:用2Bytes表示一箇中文字符,1Bytes去表示英文字符
unicode:2Bytes表示英文與中文等字符,內存中使用的是unicode,把全世界的字符都創建了對應關係
utf-8:用1Bytes表示英文,用3Bytes表示中文
unicode與其它各國編碼都有映射關係,而utf-8沒有,因此內存中都用的unicode
必須記住的概念:
①內存中固定使用unicode編碼,咱們只能改變存到硬盤時的編碼
②要想保證不亂碼,應保證什麼編碼存,就用什麼編碼讀
③python3解釋器默認編碼爲utf-8
Python2解釋器默認編碼爲ASCII
unicode----->encode-------->utf-8
utf-8-------->decode---------->unicode
總結:1.在python2中,字符串str類型都是按文件頭編碼的
2.在python2中,unicode的字符串需在字符串前加u
3.在python3中的字符串都是str類型,都是用unicode編碼的
4.在python3中,字符串能夠編碼成其餘字符串類型,結果爲bytes類型