小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python入門教程(六)字符串函數(shù)與文本分析

 靜幻堂 2018-09-14
極客饕餮 2018-09-13 20:31:15
python入門教程(六)字符串函數(shù)與文本分析

ラムジ - 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ù)字或列表的最大值或最小值,可以使用maxmin.

要將數(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ù)制過去測試一下.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多