字串和雜湊型別

2021-10-21 17:55:09 字數 1347 閱讀 5648

資料型別

數值型別

intfloat

bool

字串型別str

列表list

元組tuple

字典dict

集合set

資料型別的分類

分類一可變型別

list

可以儲存多個任意型別的資料

可迭代物件

具備多個元素

可以通過for迴圈依次獲取每個元素

dict

set總結:基本方法操作的是本身,是沒有返回值的

不可變型別

tuple

可以儲存多個任意型別的資料

可迭代物件

具備多個元素

可以通過for迴圈依次獲取每個元素

str儲存多個字元

可以進行迭代

可迭代物件

具備多個元素

可以通過for迴圈依次獲取每個元素增刪

改查具備索引,通過索引獲取指定字元

數字常量

總結:返回乙個新元素

分類二序列型別

strtuple

list

有索引,可以通過索引做操作

雜湊型別

setdict

無索引,無序,且唯一,通過key做操作

開發原則

盡量不要有報錯,或者提前處理報錯

字串字串的轉義

因為計算機中有很多不好顯示,不好表示的字元

所以我們就用反斜槓+字母來表示一些特殊的字元

就將這個稱謂字串的轉義

重點\n

回車\t

製表符\

取消反斜槓轉義

r』』原樣輸出,取消轉義

寫檔案路徑

r』c:\python\niupi』

字串的編碼

計算機認識的都是二進位制資料

如何表示字母符號呢?

翻譯本我們就稱為編碼

根據翻譯本把對應的二進位制資料翻譯成我們認識的字元,把字元翻譯成二進位制資料進行儲存

編碼的歷史

方法encode(encoding=『編碼規則比如utf-8』)

編碼decode(『編碼規則』)

解碼字典

定義{}

dict()

無序的新增的順序

沒有索引值

key是唯一的

集合定義

{}無序的

運算交集

&相同的部分並集|

合併差集

-不同的部分

運算子身份運算子

isis not

比較的是位址值

成員運算子

innot in

元素是否屬於這個物件,也就是是否是這個物件的成員

字串雜湊

參照演算法筆記p109,甲級1039 先假設字串均由大寫字母a z構成。在這個基礎上,不妨把a z視為0 25,這樣就把26個大寫字母對應到了26進製中。接著,按照將26進製轉化為10進製的思路,由進製的轉換結論可知,在進製轉換過程中,得到的10進製肯定是唯一的,由此便可實現將字串對映為整數的需求 ...

字串雜湊

昨天做了一道字串雜湊的題,感覺還好理解。今天的題看了 不知道為什麼,搜來搜去發現不知道的東西還很多,網上找到的東西也都是很零散,書上也沒有系統的講解。先自己整理一下這些零散的知識 關於字串涉及到的演算法大概有 hash kmp trie ac自動機等等,現在還都不明白是怎麼回事,這次先研究字串has...

字串雜湊

給定乙個長度為n的字串,再給定m個詢問,每個詢問包含四個整數l1,r1,l2,r2,請你判斷 l1,r1 和 l2,r2 這兩個區間所包含的字串子串是否完全相同。字串中只包含大小寫英文本母和數字。輸入格式 第一行包含整數n和m,表示字串長度和詢問次數。第二行包含乙個長度為n的字串,字串中只包含大小寫...