python基礎之集合,字符編碼

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類型

相關文章
相關標籤/搜索