|
極客饕餮 2018-09-13 20:31:15 ラムジ - PLANET.mp3 04:07.537000000000006 來自極客饕餮 一 字符串函數(shù)python包含許多有用的內(nèi)置函數(shù)和方法來完成常見的任務(wù). join-以另一個字符串作為分隔符來連接字符串列表.(把一個字符串列表,轉(zhuǎn)換成了多個字符串) replace-用一個字符串替換原字符串中的一個子字符串. startswith和endswith-確定是否在字符串的開始和結(jié)尾處有一個子字符串. lower()方法字符串小寫. upper()方法字符串大寫. split方法與join相反,把一個字符串轉(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']" 將字符串變成大寫: a="Spam" b=a.upper() 二 數(shù)字函數(shù)要查找某些數(shù)字或列表的最大值或最小值,可以使用max和min. 要將數(shù)字轉(zhuǎn)換成絕對值(該數(shù)字與0的距離),使用abs 要將數(shù)字四舍五入到一定位的小數(shù),使用round 要計算一個列表數(shù)字的總和,使用sum 三 列表函數(shù)all和any將列表作為參數(shù),通常在條件語句中使用. all列表中所有值均為True時,結(jié)果為True,否則結(jié)果為False. any列表中只要有一個為True,結(jié)果為True,反之結(jié)果為False. enumerate函數(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) 四 文本分析器這是一個示例項目,展示了一個分析示例文件以查找每個字符占用的文本百分比的程序. 本節(jié)介紹如何打開和閱讀文件. filename=input("輸入一個文件名:") with open(filename) as f: text=f.read() print(text) 結(jié)果: 輸入一個文件名:test.txt hello world 這是僅用于演示目的的示例內(nèi)容. 定義一個函數(shù),用來計算一個字符在字符串出現(xiàn)的次數(shù). def count_char(text,char): count=0 for c in text: if c==char: count+=1 return count 該函數(shù)以文件的文本和一個字符作為參數(shù),返回字符出現(xiàn)在文本中的次數(shù). 使用文件中獲取到的字符串和要查詢的字符查詢: filename=input("輸入一個文件名:") with open(filename) as f: text=f.read() print(count_char(text,"r")) 程序的下一部分將查找每個字母占據(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("輸入一個文件名:") 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ù)制過去測試一下. |
|
|