極客饕餮 2018-09-13 20:31:15 ラムジ - PLANET.mp3 04:07.537000000000006 來(lái)自極客饕餮 一 字符串函數(shù)python包含許多有用的內(nèi)置函數(shù)和方法來(lái)完成常見(jiàn)的任務(wù). join-以另一個(gè)字符串作為分隔符來(lái)連接字符串列表.(把一個(gè)字符串列表,轉(zhuǎn)換成了多個(gè)字符串) replace-用一個(gè)字符串替換原字符串中的一個(gè)子字符串. startswith和endswith-確定是否在字符串的開(kāi)始和結(jié)尾處有一個(gè)子字符串. lower()方法字符串小寫(xiě). upper()方法字符串大寫(xiě). split方法與join相反,把一個(gè)字符串轉(zhuǎn)換成列表. 例如: print(",".join(["spam","eggs","ham"])) 打印"spam,eggs,ham" print("hello,me".replace("me","world")) 打印"hello,world" print("this is a sentence".shartswith("this")) 打印"True" print("this is a sentence".endswith("sentence")) 打印"True" print("spam,eggs,ham".split(",")) 打印"['spam','eggs','ham']" 將字符串變成大寫(xiě): a="Spam" b=a.upper() 二 數(shù)字函數(shù)要查找某些數(shù)字或列表的最大值或最小值,可以使用max和min. 要將數(shù)字轉(zhuǎn)換成絕對(duì)值(該數(shù)字與0的距離),使用abs 要將數(shù)字四舍五入到一定位的小數(shù),使用round 要計(jì)算一個(gè)列表數(shù)字的總和,使用sum 三 列表函數(shù)all和any將列表作為參數(shù),通常在條件語(yǔ)句中使用. all列表中所有值均為T(mén)rue時(shí),結(jié)果為T(mén)rue,否則結(jié)果為False. any列表中只要有一個(gè)為T(mén)rue,結(jié)果為T(mén)rue,反之結(jié)果為False. enumerate函數(shù)可以用來(lái)同時(shí)迭代列表的值和索引. 例如: nums=[55,44,33,22,11] if all([i>5 for i in nums]): print("all larger than 5") if any([i%2==0 for i in nums]): print("at least on is even") for v in enumerate(nums): print(v) 結(jié)果: all larger than 5 at least one is even (0,55) (1,44) (2,33) (3,22) (4,11) 四 文本分析器這是一個(gè)示例項(xiàng)目,展示了一個(gè)分析示例文件以查找每個(gè)字符占用的文本百分比的程序. 本節(jié)介紹如何打開(kāi)和閱讀文件. filename=input("輸入一個(gè)文件名:") with open(filename) as f: text=f.read() print(text) 結(jié)果: 輸入一個(gè)文件名:test.txt hello world 這是僅用于演示目的的示例內(nèi)容. 定義一個(gè)函數(shù),用來(lái)計(jì)算一個(gè)字符在字符串出現(xiàn)的次數(shù). def count_char(text,char): count=0 for c in text: if c==char: count+=1 return count 該函數(shù)以文件的文本和一個(gè)字符作為參數(shù),返回字符出現(xiàn)在文本中的次數(shù). 使用文件中獲取到的字符串和要查詢(xún)的字符查詢(xún): filename=input("輸入一個(gè)文件名:") with open(filename) as f: text=f.read() print(count_char(text,"r")) 程序的下一部分將查找每個(gè)字母占據(jù)文本的百分比. for char in "abcdefghijklmnopqrstuvwxyz": perc=100*count_char(text,char)/len(text) print("{0}-{1}%".format(char,round(perc,2))) 最終的代碼如下: def count_char(text,char) count=0 for c in text: if c==char: count+=1 return count filename=input("輸入一個(gè)文件名:") with open(filename) as f: text=f.read() for char in "abcdefghijklmnopqrstuvwxyz" perc=100*count_char(text,char)/len(text) print("{0}-{1}%").format(char,round(perc,2)) 大家可以復(fù)制過(guò)去測(cè)試一下. |
|