- 1、python判斷是否含有中文 ZZ
- 2、python的數據類型有哪些?
- 3、[zz]為什麼python標準庫沒有實現鏈表
首先,在python中字符串的表示是 用unicode編碼。所以在做編碼轉換時,通常要以unicode作為中間編碼。
decode的作用是將其他編碼的字符串轉換成unicode編碼,比如 a.decode(‘utf-8’),表示將utf-8編碼的字符串轉換成unicode編碼
encode的作用是將unicode編碼的字符串轉換成其他編碼格式的字符串,比如b.encode(‘utf-8’),表示將unicode編碼格式轉換成utf-8編碼格式的字符串
判斷一個字符串中是否含有中文字符:
好了,有了以上知識,就可以很容易的解決這個問題了。這是代碼
1 #-*- coding:utf-8 -*-
2
3 import sys
4 reload(sys)
5 sys.setdefaultencoding(‘utf8’)
6
7 def check_contain_chinese(check_str):
8 for ch in check_str.decode(‘utf-8’):
9 if u’\u4e00′ = ch = u’\u9fff’:
10 return True
11 return False
12
13 if __name__ == “__main__”:
14 print check_contain_chinese(‘中國’)
15 print check_contain_chinese(‘xxx’)
16 print check_contain_chinese(‘xx中國’)
17
18 結果:
19 True
20 False
21 True
1. 數字類型
Python數字類型主要包括int(整型)、long(長整型)和float(浮點型),但是在Python3中就不再有long類型了。
int(整型)
在32位機器上,整數的位數是32位,取值範圍是-231~231-1,即-2147483648~214748364;在64位系統上,整數的位數為64位,取值範圍為-263~263-1,即9223372036854775808~9223372036854775807。
long(長整型)
Python長整型沒有指定位寬,但是由於機器內存有限,使用長的長整數數值也不可能無限大。
float(浮點型)
浮點型也就是帶有小數點的數,其精度和機器有關。
complex(複數)
Python還支持複數,複數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型。
2. 字符串
在Python中,加了引號的字符都被認為是字符串,其聲明有三種方式,分別是:單引號、雙引號和三引號;Python中的字符串有兩種數據類型,分別是str類型和unicode類型,str類型採用的ASCII編碼,無法表示中文,unicode類型採用unicode編碼,能夠表示任意字符,包括中文和其他語言。
3. 布爾型
和其他編程語言一樣,Python布爾類型也是用於邏輯運算,有兩個值:True(真)和False(假)。
4. 列表
列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型,可對集合進行創建、查找、切片、增加、修改、刪除、循環和排序操作。
5. 元組
元組和列表一樣,也是一種序列,與列表不同的是,元組是不可修改的,元組用”()”標識,內部元素用逗號隔開。
6. 字典
字典是一種鍵值對的集合,是除列表以外Python之中最靈活的內置數據結構類型,列表是有序的對象集合,字典是無序的對象集合。
7. 集合
集合是一個無序的、不重複的數據組合,它的主要作用有兩個,分別是去重和關係測試。
在需要用到linked list特性的地方,比如常常需要從頭部append或者pop
這時候有python的deque. (這裡我記錯了,特此更正,deque如果做insert還是會導致內存拷貝/移動,這裡面的關鍵思想就是目前硬件的內存拷貝相當快,不是相當長的東西都可以接受)
deque也不是通常的簡單數據結構,它是經過認真權衡過後得到的一種混合式數據結構。
他是一個鏈式塊結構,每個塊包含62個對象,以此來平衡對locality的優化和對push, pop的優化。有人問為啥是62個而不是其他數:那是因為deque是個雙向鏈表,一個節點64個指針,一個指向前一個指向後,剩下就是62個指針用來指向對象
原創文章,作者:WF1CW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127165.html