【3】python核心编程 第六章-序列:字符串、列表和元组
生活随笔
收集整理的這篇文章主要介紹了
【3】python核心编程 第六章-序列:字符串、列表和元组
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、序列類型操作符
1 序列操作符 作用 2 seq[ind] 獲得下標(biāo)為ind 的元素 3 seq[ind1:ind2] 獲得下標(biāo)從ind1 到ind2 間的元素集合 4 seq * expr 序列重復(fù)expr 次 5 seq1 + seq2 連接序列seq1 和seq2 6 obj in seq 判斷obj 元素是否包含在seq 中 7 obj not in seq 判斷obj 元素是否不包含在seq 中2、序列類型可用的內(nèi)建函數(shù)
1 函數(shù)名 功能 2 enumerate(iter) 接受一個(gè)可迭代對象作為參數(shù),返回一個(gè)enumerate 對象(同 3 時(shí)也是一個(gè)迭代器),該對象生成由iter 每個(gè)元素的index 值 4 和item 值組成的元組(PEP 279) 5 len(seq) 返回seq 的長度 6 max(iter,key=None) or 7 max(arg0,arg1...,key=None)b 返回iter 或(arg0,arg1,...)中的最大值,如果指定了key, 8 這個(gè)key 必須是一個(gè)可以傳給sort()方法的,用于比較的回 9 調(diào)函數(shù). 10 min(iter, key=None) or 11 min(arg0, arg1.... key=None) 返回iter 里面的最小值;或者返回(arg0,arg2,...)里面的最小值;如果指定了key,這個(gè)key 必須是一個(gè)可以傳給 12 sort()方法的,用于比較的回調(diào)函數(shù). 13 reversed(seq)c 接受一個(gè)序列作為參數(shù),返回一個(gè)以逆序訪問的迭代器(PEP 322) 14 sorted(iter, 15 func=None, 16 key=None, 17 reverse=False)c 接受一個(gè)可迭代對象作為參數(shù),返回一個(gè)有序的列表;可選參數(shù) 18 func,key 和reverse 的含義跟list.sort()內(nèi)建函數(shù)的參數(shù)含義一 19 樣. 20 sum(seq, init=0)a 返回seq 和可選參數(shù)init 的總和, 其效果等同于 21 reduce(operator.add,seq,init) 22 zip([it0, it1,... itN])d 返回一個(gè)列表,其第一個(gè)元素是it0,it1,...這些元素的第 23 一個(gè)元素組成的一個(gè)元組,第二個(gè)...,類推.3、?string 模塊預(yù)定義的字符串
1 >>> import string 2 >>> string.ascii_uppercase 3 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 4 >>> string.ascii_lowercase 5 'abcdefghijklmnopqrstuvwxyz' 6 >>> string.ascii_letters 7 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 8 >>> string.digits 9 '0123456789'4、性能
1 一般來說,從性能的的角度來考慮,把重復(fù)操作作為參數(shù)放到循環(huán)里面進(jìn)行是非常低效的. 2 while i < len(myString): 3 print 'character %d is:', myString[i] 4 上面的循環(huán)操作把大把的時(shí)間都浪費(fèi)到了重復(fù)計(jì)算字符串myString 的長度上了.每次循環(huán) 5 迭代都要運(yùn)行一次這個(gè)函數(shù).如果把這個(gè)值做一次保存,我們就可以用更為高效的方式重寫我們 6 的循環(huán)操作. 7 length = len(myString) 8 while i < length: 9 print 'character %d is:', myString[i] 10 這個(gè)方法同樣適用于上面的例6.1 11 for otherChar in myInput[1:]: 12 if otherChar not in alphas + nums:5、zip()
1 >>> s, t = 'foa', 'obr' 2 >>> zip(s, t) 3 [('f', 'o'), ('o', 'b'), ('a', 'r')]6、字符串內(nèi)建函數(shù)
1 方法 描述 2 string.capitalize() 把字符串的第一個(gè)字符大寫 3 string.center(width) 返回一個(gè)原字符串居中,并使用空格填充至長度width 的新字符 4 串 5 string.count(str, beg=0, 6 end=len(string)) 返回str 在string 里面出現(xiàn)的次數(shù),如果beg 或者end 指定則 7 返回指定范圍內(nèi)str 出現(xiàn)的次數(shù) 8 string.decode(encoding='UTF-8', 9 errors='strict') 以encoding 指定的編碼格式解碼string,如果出錯(cuò)默認(rèn)報(bào)一個(gè) 10 ValueError 的異常, 除非errors 指定的是'ignore' 或者 11 'replace' 12 string.encode(encoding='UTF-8', 13 errors='strict')a 以encoding 指定的編碼格式編碼string,如果出錯(cuò)默認(rèn)報(bào)一個(gè) 14 ValueError 的異常,除非errors 指定的是'ignore'或者'replace' 15 string.endswith(obj, beg=0, 16 end=len(string))b,e 檢查字符串是否以obj 結(jié)束,如果beg 或者end 指定則檢查指 17 定的范圍內(nèi)是否以obj 結(jié)束,如果是,返回True,否則返回False. 18 string.expandtabs(tabsize=8)把字符串string 中的tab 符號(hào)轉(zhuǎn)為空格,默認(rèn)的空 19 格數(shù)tabsize 是8. 20 string.find(str, beg=0, 21 end=len(string)) 檢測str 是否包含在string 中,如果beg 和end 指定范圍, 22 則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則 23 返回-1 24 string.index(str, beg=0, 25 end=len(string)) 跟find()方法一樣,只不過如果str 不在string 中會(huì)報(bào)一個(gè)異常. 26 string.isalnum()a, b, c R 如果string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返 27 回True,否則返回False 28 string.isalpha()a, b, c 如果string 至少有一個(gè)字符并且所有字符都是字母則返回True, 29 否則返回False 30 string.isdecimal()b, c, d 如果string 只包含十進(jìn)制數(shù)字則返回True 否則返回False. 31 string.isdigit()b, c 如果string 只包含數(shù)字則返回True 否則返回False. 32 string.islower()b, c 如果string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分 33 大小寫的)字符都是小寫,則返回True,否則返回False 34 string.isnumeric()b, c, d 如果string 中只包含數(shù)字字符,則返回True,否則返回False 35 string.isspace()b, c 如果string 中只包含空格,則返回True,否則返回False. 36 string.istitle()b, c 如果string 是標(biāo)題化的(見title())則返回True,否則返回False 37 string.isupper()b, c 如果string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分 38 大小寫的)字符都是大寫,則返回True,否則返回False 39 string.join(seq) Merges (concatenates)以string 作為分隔符,將seq 中所有的元素 40 (的字符串表示)合并為一個(gè)新的字符串 41 string.ljust(width)返回一個(gè)原字符串左對齊,并使用空格填充至長度width 的新字符串 42 string.lower() 轉(zhuǎn)換string 中所有大寫字符為小寫. 43 string.lstrip() 截掉string 左邊的空格 44 string.partition(str)e 有點(diǎn)像find()和split()的結(jié)合體,從str 出現(xiàn)的第一個(gè)位置起, 45 把字符串string 分成一個(gè)3 元素的元組 46 (string_pre_str,str,string_post_str),如果string 中不包含 47 str 則string_pre_str == string. 48 string.replace(str1, str2, 49 num=string.count(str1))把string 中的str1 替換成str2,如果num 指定, 50 則替換不超過num 次. 51 string.rfind(str, beg=0,end=len(string))類似于find()函數(shù),不過是從右邊開始查 52 找. 53 string.rindex( str, beg=0,end=len(string)) 類似于index(),不過是從右邊開始. 54 string.rjust(width)返回一個(gè)原字符串右對齊,并使用空格填充至長度width 的新字符串 55 string.rpartition(str)e 類似于partition()函數(shù),不過是從右邊開始查找. 56 string.rstrip() 刪除string 字符串末尾的空格. 57 string.split(str="", num=string.count(str)) 以str 為分隔符切片string,如果num 58 有指定值,則僅分隔num 個(gè)子字符串 59 string.splitlines(num=string.count('\n'))b, c 按照行分隔,返回一個(gè)包含各行作為元素 60 的列表,如果num 指定則僅切片num 個(gè) 61 行. 62 string.startswith(obj, beg=0,end=len(string))b, e 檢查字符串是否是以obj 開頭,是則 63 返回True,否則返回False。如果 64 beg 和end 指定值,則在指定范圍內(nèi)檢查 65 string.strip([obj]) 在string 上執(zhí)行l(wèi)strip()和rstrip() 66 string.swapcase() 翻轉(zhuǎn)string 中的大小寫 67 string.title()b, c 返回"標(biāo)題化"的string,就是說所有單詞都是以大寫開始,其余 68 字母均為小寫(見istitle()) 69 string.translate(str, del="") 根據(jù)str 給出的表(包含256 個(gè)字符)轉(zhuǎn)換string 的字符, 70 要過濾掉的字符放到del 參數(shù)中 71 string.upper() 轉(zhuǎn)換string 中的小寫字母為大寫 72 string.zfill(width) 返回長度為width 的字符串,原字符串string 右對齊,前面填充07、與字符串類型有關(guān)的模塊
1 模塊 描述 2 string 字符串操作相關(guān)函數(shù)和工具,比如Template 類. 3 re 正則表達(dá)式:強(qiáng)大的字符串模式匹配模塊 4 struct 字符串和二進(jìn)制之間的轉(zhuǎn)換 5 c/StringIO 字符串緩沖對象,操作方法類似于file 對象. 6 base64 Base 16,32,64 數(shù)據(jù)編解碼 7 codecs 解碼器注冊和基類 8 crypt 進(jìn)行單方面加密 9 difflib 找出序列間的不同 10 hashlib 多種不同安全哈希算法和信息摘要算法的API 11 hma HMAC 信息鑒權(quán)算法的Python 實(shí)現(xiàn) 12 md5 RSA 的MD5 信息摘要鑒權(quán) 13 rotor 提供多平臺(tái)的加解密服務(wù) 14 sha NIAT 的安全哈希算法SHA 15 stringprep 提供用于IP 協(xié)議的Unicode 字符串 16 textwrap 文本打包和填充 17 unicodedata Unicode 數(shù)據(jù)庫8、列表類型內(nèi)建函數(shù)
1 List Method Operation 2 list.append(obj) 向列表中添加一個(gè)對象obj 3 list.count(obj) 返回一個(gè)對象obj 在列表中出現(xiàn)的次數(shù) 4 list.extend(seq) 把序列seq 的內(nèi)容添加到列表中 5 list.index(obj, i=0, 6 j=len(list)) 返回list[k] == obj 的k 值,并且k 的范圍在 i<=k<j;否則 7 引發(fā)ValueError 異常. 8 list.insert(index, obj) 在索引量為index 的位置插入對象obj. 9 list.pop(index=-1) 刪除并返回指定位置的對象,默認(rèn)是最后一個(gè)對象 10 list.remove(obj) 從列表中刪除對象obj 11 list.reverse() 原地翻轉(zhuǎn)列表 12 list.sort(func=None,key=None,reverse=False) 以指定的方式排序列表中的成員,如果func 和key 參數(shù)指定, 13 則按照指定的方式比較各個(gè)元素,如果reverse 標(biāo)志被置為 14 True,則列表以反序排列.?
轉(zhuǎn)載于:https://www.cnblogs.com/jakeyChen/p/4873653.html
總結(jié)
以上是生活随笔為你收集整理的【3】python核心编程 第六章-序列:字符串、列表和元组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell基础-环境变量配置文件
- 下一篇: day7 python学习随笔