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