字典对中文字符串进行排序 python_Python基础入门:字符串和字典
一、學(xué)習(xí)內(nèi)容
字符串
字典
二、學(xué)習(xí)概述
1. 字符串的定義
- Python 中字符串被定義為引號之間的字符集合。
- Python 支持使用成對的 單引號 或 雙引號。
- Python 的常用轉(zhuǎn)義字符
2. 字符串的切片與拼接
- 類似于元組具有不可修改性
- 從 0 開始 (和 Java 一樣)
- 切片通常寫成 start:end 這種形式,包括「start 索引」對應(yīng)的元素,不包括「end索引」對應(yīng)的元素。
- 索引值可正可負(fù),正索引從 0 開始,從左往右;負(fù)索引從 -1 開始,從右往左。使用負(fù)數(shù)索引時,會從最后一個元素開始計數(shù)。最后一個元素的位置編號是 -1。
3. 字符串的常用內(nèi)置方法
- capitalize() 將字符串的第一個字符轉(zhuǎn)換為大寫。
- lower() 轉(zhuǎn)換字符串中所有大寫字符為小寫。
- upper() 轉(zhuǎn)換字符串中的小寫字母為大寫。
- swapcase() 將字符串中大寫轉(zhuǎn)換為小寫,小寫轉(zhuǎn)換為大寫。
- count(str, beg= 0,end=len(string)) 返回str在 string 里面出現(xiàn)的次數(shù),如果beg或者end指定則返回指定范圍內(nèi)str出現(xiàn)的次數(shù)。
- endswith(suffix, beg=0, end=len(string)) 檢查字符串是否以指定子字符串 suffix 結(jié)束,如果是,返回 True,否則返回 False。如果 beg 和 end 指定值,則在指定范圍內(nèi)檢查。
- startswith(substr, beg=0,end=len(string)) 檢查字符串是否以指定子字符串 substr 開頭,如果是,返回 True,否則返回 False。如果 beg 和 end 指定值,則在指定范圍內(nèi)檢查。
- find(str, beg=0, end=len(string)) 檢測 str 是否包含在字符串中,如果指定范圍 beg 和 end,則檢查是否包含在指定范圍內(nèi),如果包含,返回開始的索引值,否則返回 -1。
- rfind(str, beg=0,end=len(string)) 類似于 find() 函數(shù),不過是從右邊開始查找。
- isnumeric() 如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False。
- ljust(width[, fillchar])返回一個原字符串左對齊,并使用fillchar(默認(rèn)空格)填充至長度width的新字符串。
- rjust(width[, fillchar])返回一個原字符串右對齊,并使用fillchar(默認(rèn)空格)填充至長度width的新字符串。
- lstrip([chars]) 截掉字符串左邊的空格或指定字符。
- rstrip([chars]) 刪除字符串末尾的空格或指定字符。
- strip([chars]) 在字符串上執(zhí)行l(wèi)strip()和rstrip()。
- partition(sub) 找到子字符串sub,把字符串分為一個三元組(pre_sub,sub,fol_sub),如果字符串中不包含sub則返回('原字符串','','')。
- rpartition(sub)類似于partition()方法,不過是從右邊開始查找。
- replace(old, new [, max]) 把 將字符串中的old替換成new,如果max指定,則替換不超過max次。
- split(str="", num) 不帶參數(shù)默認(rèn)是以空格為分隔符切片字符串,如果num參數(shù)有設(shè)置,則僅分隔num個子字符串,返回切片后的子字符串拼接的列表。
- splitlines([keepends]) 按照行('r', 'rn', n')分隔,返回一個包含各行作為元素的列表,如果參數(shù)keepends為 False,不包含換行符,如果為 True,則保留換行符。
- maketrans(intab, outtab) 創(chuàng)建字符映射的轉(zhuǎn)換表,第一個參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。
- translate(table, deletechars="") 根據(jù)參數(shù)table給出的表,轉(zhuǎn)換字符串的字符,要過濾掉的字符放到deletechars參數(shù)中。
4. 字符串格式化
- format 格式化函數(shù)
- Python 字符串格式化符號
列子
print('%c' % 97) # a
print('%c %c %c' % (97, 98, 99)) # a b c
print('%d + %d = %d' % (4, 5, 9)) # 4 + 5 = 9
print("我叫 %s 今年 %d 歲!" % ('小明', 10)) # 我叫 小明 今年 10 歲!
print('%o' % 10) # 12
print('%x' % 10) # a
print('%X' % 10) # A
print('%f' % 27.658) # 27.658000
print('%e' % 27.658) # 2.765800e+01
print('%E' % 27.658) # 2.765800E+01
print('%g' % 27.658) # 27.658
text = "I am %d years old." % 22
print("I said: %s." % text) # I said: I am 22 years old..
print("I said: %r." % text) # I said: 'I am 22 years old.'
a a b c 4 + 5 = 9 我叫 小明 今年 10 歲! 12 a A 27.658000 2.765800e+01 2.765800E+01 27.658 I said: I am 22 years old.. I said: 'I am 22 years old.'.
- 格式化操作符輔助指令
字典
1. 可變類型與不可變類型
- 序列是以連續(xù)的整數(shù)為索引,與此不同的是,字典以"關(guān)鍵字"為索引,關(guān)鍵字可以是任意不可變類型,通常用字符串或數(shù)值。
- 字典是 Python 唯一的一個 映射類型,字符串、元組、列表屬于序列類型。
那么如何快速判斷一個數(shù)據(jù)類型 X 是不是可變類型的呢?兩種方法:
- 麻煩方法:用 id(X) 函數(shù),對 X 進(jìn)行某種操作,比較操作前后的 id,如果不一樣,則 X 不可變,如果一樣,則 X 可變。
- 便捷方法:用 hash(X),只要不報錯,證明 X 可被哈希,即不可變,反過來不可被哈希,即可變。
- 整數(shù) i 在加 1 之后的 id 和之前不一樣,因此加完之后的這個 i (雖然名字沒變),但不是加之前的那個 i 了,因此整數(shù)是不可變類型。
- 列表 l 在附加 'Python' 之后的 id 和之前一樣,因此列表是可變類型。
- 數(shù)值、字符和元組 都能被哈希,因此它們是不可變類型。
- 列表、集合、字典不能被哈希,因此它是可變類型。
- 數(shù)值、字符和元組 都能被哈希,因此它們是不可變類型。
- 列表、集合、字典不能被哈希,因此它是可變類型。
2. 字典的定義
字典 是無序的 鍵:值(key:value)對集合,鍵必須是互不相同的(在同一個字典之內(nèi))。
- dict 內(nèi)部存放的順序和 key 放入的順序是沒有關(guān)系的。
- dict 查找和插入的速度極快,不會隨著 key 的增加而增加,但是需要占用大量的內(nèi)存。
字典 定義語法為 {元素1, 元素2, ..., 元素n}
- 其中每一個元素是一個「鍵值對」-- 鍵:值 (key:value)
- 關(guān)鍵點是「大括號 {}」,「逗號 ,」和「冒號 :」
- 大括號 -- 把所有元素綁在一起
- 逗號 -- 將每個鍵值對分開
- 冒號 -- 將鍵和值分開
3. 創(chuàng)建和訪問字典
4. 字典的內(nèi)置方法
- dict.fromkeys(seq[, value]) 用于創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應(yīng)的初始值
- dict.keys()返回一個可迭代對象,可以使用 list() 來轉(zhuǎn)換為列表,列表為字典中的所有鍵。
- dict.values()返回一個迭代器,可以使用 list() 來轉(zhuǎn)換為列表,列表為字典中的所有值。
- dict.items()以列表返回可遍歷的 (鍵, 值) 元組數(shù)組。
- dict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回默認(rèn)值。
- dict.setdefault(key, default=None)和get()方法 類似, 如果鍵不存在于字典中,將會添加鍵并將值設(shè)為默認(rèn)值。
- key in dict in 操作符用于判斷鍵是否存在于字典中,如果鍵在字典 dict 里返回true,否則返回false。而not in操作符剛好相反,如果鍵在字典 dict 里返回false,否則返回true。
- dict.pop(key[,default])刪除字典給定鍵 key 所對應(yīng)的值,返回值為被刪除的值。key 值必須給出。若key不存在,則返回 default 值。
- del dict[key] 刪除字典給定鍵 key 所對應(yīng)的值。
- dict.popitem()隨機返回并刪除字典中的一對鍵和值,如果字典已經(jīng)為空,卻調(diào)用了此方法,就報出KeyError異常。
- dict.clear()用于刪除字典內(nèi)所有元素。
- dict.copy()返回一個字典的淺復(fù)制。
- dict.update(dict2)把字典參數(shù) dict2 的 key:value對 更新到字典 dict 里。
總結(jié)
以上是生活随笔為你收集整理的字典对中文字符串进行排序 python_Python基础入门:字符串和字典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京数字人民币红包怎么用 指定商户即可直
- 下一篇: word2013插入excel对象报错_