[轉(zhuǎn)載] python字符串函數(shù)用法大全

參考鏈接: 如何檢查字符串在Python中是否為有效關(guān)鍵字?

目錄?

1.0 capitalize()函數(shù)?

2.0 title()函數(shù)?

3.0 swapcase()函數(shù)?

4.0 lower()函數(shù)?

5.0 upper()函數(shù)?

6.0 casefold()函數(shù)?

7.0 center()函數(shù)?

8.0 ljust()函數(shù)?

9.0 rjust()函數(shù)?

10.0 zfill()函數(shù)?

11.0 count()函數(shù)?

12.0 encode()函數(shù)?

13.0 decode()函數(shù)?

14.0 expandtabs()函數(shù)?

15.0 find()函數(shù)?

16.0 rfind()函數(shù)?

17.0 index()函數(shù)?

18.0 rindex()函數(shù)?

19.0 format()函數(shù)?

20.0 format_map()函數(shù)?

21.0 endswith()函數(shù)?

22.0 startswith()函數(shù)?

23.0 isalnum()函數(shù)?

24.0 isalpha()函數(shù)?

25.0 isdecimal()函數(shù)?

26.0 isdigit()函數(shù)?

27.0 isidentifier()函數(shù)?

28.0? islower()函數(shù)?

29.0 isupper()函數(shù)?

30.0 isnumeric()函數(shù)?

31.0 isprintable()函數(shù)?

32.0 isspace()函數(shù)?

33.0 istitle()函數(shù)?

34.0? strip()函數(shù)?

35.0 lstrip()函數(shù)?

36. rstrip()函數(shù)?

37.0 maketrans()函數(shù)?

38.0 translate()函數(shù)?

39.0 partition()函數(shù)?

40.0? rpartition()函數(shù)?

41.0? split()函數(shù)?

42.0? rsplit()函數(shù)?

43.0 splitlines()函數(shù)?

44.0 join()函數(shù)?

45.0 replace()函數(shù)?


?序言:?

?字符串屬于序列類型相种,根據(jù)字符串內(nèi)容的多少可以將字符串分為單行字符串和多行字符串汞贸。其中單行字符串可以由一對雙引號(" ")或一對單引號(' ')表示肝箱,單引號和雙引號等效坤检。多行字符串可由一對三單引號(''' ''')或一對三雙引號(""" """)表示叹谁,三單引號和三雙引號也等效饲梭。?



解決英文單詞大小寫問題:?

1.0 capitalize()函數(shù)?

描述:將字符串的第一個字母變成大寫,其余字母變?yōu)樾憽?

語法:str.capitalize()? —> str 返回字符串?

程序示例:?

str1 = "i Love python"

str2 = " i Love python" #字母i前有空格

str3 = "I Love python"

print(str1.capitalize())

print(str2.capitalize())

print(str3.capitalize())?

程序運行結(jié)果:??

I love python

?i love python

I love python?

2.0 title()函數(shù)?

描述:返回一個滿足標(biāo)題格式的字符串焰檩。即所有英文單詞首字母大寫憔涉,其余英文字母小寫。?

語法:str.title() -> str 返回一個字符串?

程序示例:?

str = "i love python"

print(str.title()) #將字符串str的所有單詞首字母大寫析苫,其余字母小寫?

程序運行結(jié)果:??

I Love Python?

3.0 swapcase()函數(shù)?

描述:將字符串str中的大小寫字母同時進(jìn)行互換监氢。即將字符串str中的大寫字母轉(zhuǎn)換為小寫字母布蔗,將小寫字母轉(zhuǎn)換為大寫字母。?

語法:str.swapcase() -> str 返回字符串?

程序示例:?

str1 = "I Love PYTHON"

str2 = "我愛python Python pYTHON"

print(str1.swapcase()) #將字符串str1中的大寫字母轉(zhuǎn)為小寫字母浪腐,小寫字母轉(zhuǎn)換為大寫字母纵揍。

print(str2.swapcase())?

程序運行結(jié)果:?

i lOVE python

我愛PYTHON pYTHON Python?

4.0 lower()函數(shù)?

描述:將字符串中的所有大寫字母轉(zhuǎn)換為小寫字母。?

語法:str.lower()? -> str? 返回字符串?

程序示例:?

str1 = "I Love Python"

str2 = "Gro? - α" #德語 大寫α

print(str1.casefold())

print(str1.lower())

print(str2.casefold())

print(str2.lower())?

程序運行結(jié)果:?

i love python

i love python

gross - α

gro? - α?

注意 lower()函數(shù)和casefold()函數(shù)的區(qū)別:?

lower() 方法只對ASCII編碼议街,即‘A-Z’有效泽谨,對于其它語言中把大寫轉(zhuǎn)換為小寫的情況無效,只能用 casefold() 函數(shù)特漩。?

5.0 upper()函數(shù)?

描述:將字符串中的所有小寫字母轉(zhuǎn)換為大寫字母吧雹。?

語法: str.upper() -> str? 返回字符串?

程序示例:?

str1 = "i love python"? #全為小寫字母

str2 = "I Love Python"? #所有單詞首字母大寫

print(str1.upper())

print(str2.upper())?

程序運行結(jié)果:?

I LOVE PYTHON

I LOVE PYTHON?

6.0 casefold()函數(shù)?

描述:將字符串中的所有大寫字母轉(zhuǎn)換為小寫字母。也可以將非英文 語言中的大寫轉(zhuǎn)換為小寫涂身。?

注意 lower()函數(shù)和casefold()函數(shù)的區(qū)別:lower() 方法只對ASCII編碼雄卷,即‘A-Z’有效,對于其它語言中把大寫轉(zhuǎn)換為小寫的情況無效蛤售,只能用 casefold() 函數(shù)丁鹉。?

語法:str.casefold()? ?-> str 返回字符串?

程序示例:?

str1 = "I Love Python"

str2 = "Gro? - α" #德語 大寫α

print(str1.casefold())

print(str1.lower())

print(str2.casefold())

print(str2.lower())?

程序運行結(jié)果:?

i love python

i love python

gross - α

gro? - α?




解決字符串填充問題:?

7.0 center()函數(shù)?

描述:返回一個長度為width,兩邊用fillchar(單字符)填充的字符串,即字符串str居中悴能,兩邊用fillchar填充揣钦。若字符串的長度大于width,則直接返回字符串str。?

語法:str.center(width , "fillchar")? -> str? 返回字符串? ? ? ?注意:引號不可省?

width —— 指定字符串長度漠酿。fillchar —— 要填充的單字符冯凹,默認(rèn)為空格。

程序示例:?

str = "i love python"

print(str.center(20,"*")) #指定字符串長度為20 用單字符"*"填充

print(str.center(1,"*")) #指定字符串長度為1炒嘲,小于原字符串的長度宇姚。

print(str.center(20,"8"))

print(str.center(20)) #fillchar 默認(rèn)為空格?

程序運行結(jié)果:?

***i love python****

i love python

888i love python8888

? ?i love python? ?

8.0 ljust()函數(shù)?

描述:返回一個原字符串左對齊,并使用fillchar填充(默認(rèn)為空格)至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串夫凸。?

語法: str.ljust(width, fillchar)? -> str 返回一個新的字符串?

width —— 指定字符串的輸出長度空凸。fillchar—— 將要填充的單字符,默認(rèn)為空格寸痢。

程序示例:?

str = "python"

print(str.ljust(30,"*")) #指定寬度為30,填充字符為*

print(str.ljust(30))? #指定寬度為30紊选,填充字符默認(rèn)為空格

print(str.ljust(30),"1") #對比?

程序運行結(jié)果:?

python************************

python? ? ? ? ? ? ? ? ? ? ? ??

python? ? ? ? ? ? ? ? ? ? ? ? ?1?

9.0 rjust()函數(shù)?

描述:返回一個原字符串右對齊,并使用fillchar填充(默認(rèn)為空格)至指定長度的新字符串啼止。如果指定的長度小于原字符串的長度則返回原字符串。?

語法: str.ljust(width, fillchar)? -> str 返回一個新的字符串?

width —— 指定字符串的輸出長度兵罢。fillchar—— 將要填充的單字符献烦,默認(rèn)為空格。

程序示例:?

str = "python"

print(str.rjust(30,"*")) #指定寬度為30卖词,填充字符為*

print(str.rjust(30))? #指定寬度為30巩那,填充字符默認(rèn)為空格

print("1",str.rjust(30)) #對比?

程序運行結(jié)果:?

************************python

? ? ? ? ? ? ? ? ? ? ? ? python

1? ? ? ? ? ? ? ? ? ? ? ? ?python?

10.0 zfill()函數(shù)?

描述:返回指定長度的字符串吏夯,使原字符串右對齊,前面用0填充到指定字符串長度即横。?

語法:str.zfill(width) -> str 返回一個字符串?

width —— 指定字符串的長度,但不能為空噪生。若指定長度小于字符串長度,則直接輸出原字符串东囚。

程序示例:?

str = "i love python"

print(str.zfill(30)) #指定字符串長度為30

print(str.zfill(2)) #指定字符串長度為2跺嗽,小于原字符串長度。

print(str.zfill()) #參數(shù)width為空页藻,報錯.?

程序運行結(jié)果:?

00000000000000000i love python

i love python

---------------------------------------------------------------------------

TypeError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Traceback (most recent call last)

<ipython-input-22-45e4baf7a246> in <module>()

? ? ? 2 print(str.zfill(30)) #指定字符串長度為30

? ? ? 3 print(str.zfill(2)) #指定字符串長度為2,小于原字符串長度。

----> 4 print(str.zfill()) #參數(shù)width為空万俗,報錯.

TypeError: zfill() takes exactly 1 argument (0 given)





解決統(tǒng)計字符次數(shù)問題:?

11.0 count()函數(shù)?

描述:統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)词疼。可以選擇字符串索引的起始位置和結(jié)束位置废境。? ? ? ? ? ??

語法:str.count("char", start,end)? 或 str.count("char")? ? -> int? ? 返回整數(shù)?

str —— 為要統(tǒng)計的字符(可以是單字符畜挨,也可以是多字符)。star —— 為索引字符串的起始位置彬坏,默認(rèn)參數(shù)為0朦促。end —— 為索引字符串的結(jié)束位置,默認(rèn)參數(shù)為字符串長度即len(str)栓始。

程序示例:?

str = "i love python,i am learning python"

print(str.count("i")) #star 和end 為默認(rèn)參數(shù)

print(str.count("i",2)) # star值為2务冕,end值為默認(rèn)參數(shù)

print(str.count("i",2,5)) #star值為2,end值為5

print(str.count("am"))? #多字符統(tǒng)計?

程序運行結(jié)果:?

3

2

0

1?


解決編碼問題:?

12.0 encode()函數(shù)?

描述:以指定的編碼格式編碼字符串幻赚,默認(rèn)編碼為 'utf-8'禀忆。?

語法:str.encode(encoding='utf-8', errors='strict')? ? ?-> bytes (獲得bytes類型對象)?

encoding 參數(shù)可選,即要使用的編碼落恼,默認(rèn)編碼為 'utf-8'箩退。字符串編碼常用類型有:utf-8,gb2312,cp936,gbk等。errors 參數(shù)可選佳谦,設(shè)置不同錯誤的處理方案戴涝。默認(rèn)為 'strict',意為編碼錯誤引起一個UnicodeEncodeError。 其它可能值有 'ignore', 'replace', 'xmlcharrefreplace'以及通過 codecs.register_error() 注冊其它的值钻蔑。

程序示例:?

str1 = "我愛祖國"

str2 = "I love my country"

print("utf8編碼:",str1.encode(encoding="utf8",errors="strict")) #等價于print("utf8編碼:",str1.encode("utf8"))

print("utf8編碼:",str2.encode(encoding="utf8",errors="strict"))

print("gb2312編碼:",str1.encode(encoding="gb2312",errors="strict"))#以gb2312編碼格式對str1進(jìn)行編碼啥刻,獲得bytes類型對象的str

print("gb2312編碼:",str2.encode(encoding="gb2312",errors="strict"))

print("cp936編碼:",str1.encode(encoding="cp936",errors="strict"))

print("cp936編碼:",str2.encode(encoding="cp936",errors="strict"))

print("gbk編碼:",str1.encode(encoding="gbk",errors="strict"))

print("gbk編碼:",str2.encode(encoding="gbk",errors="strict"))?

程序運行結(jié)果:?

utf8編碼: b'\xe6\x88\x91\xe7\x88\xb1\xe7\xa5\x96\xe5\x9b\xbd'

utf8編碼: b'I love my country'

gb2312編碼: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'

gb2312編碼: b'I love my country'

cp936編碼: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'

cp936編碼: b'I love my country'

gbk編碼: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'

gbk編碼: b'I love my country'


注:在python中encode和decode分別指編碼和解碼?

13.0 decode()函數(shù)?

描述:以 encoding 指定的編碼格式解碼字符串,默認(rèn)編碼為字符串編碼咪笑。?

語法:str.decode(encoding='utf-8', errors='strict')?

?encoding ——要使用的編碼可帽,如:utf-8,gb2312,cp936,gbk等。? errors ——設(shè)置不同解碼錯誤的處理方案窗怒。默認(rèn)為 'strict',意為編碼錯誤引起一個 UnicodeDecodeError映跟。 其它可能得值有 'ignore', 'replace'以及通過 codecs.register_error() 注冊的1其它值蓄拣。?

程序示例:?

s = "我愛祖國"

str1 = s.encode(encoding="utf-8",errors="strict")

str2 = s.encode("gb2312") #編碼錯誤的處理方案默認(rèn)為"strict"

str3 = s.encode("gbk")

print(str1.decode(encoding="utf-8",errors="strict"))#用utf-8的解碼格式,解碼str1.

print(str1.decode(encoding="gbk",errors="ignore"))##如果以gbk的解碼格式對str1進(jìn)行解碼得努隙,將無法還原原來的字符串內(nèi)容

print(str1.decode(encoding="gbk",errors="strict"))

print(str1.decode(encoding="gbk",errors="replace"))

print("\n")

print(str2.decode("gb2312"))

print(str3.decode("gbk"))?

程序運行結(jié)果:?

我愛祖國

鎴戠埍紲栧浗

鎴戠埍紲栧浗

鎴戠埍紲栧浗

我愛祖國

我愛祖國?

?注:在python3.x中球恤,encode()函數(shù)只能用于字符串類型,而decode()函數(shù)只能用于字節(jié)數(shù)據(jù)類型剃法。?

程序示例中 str1,str2,str3都是字節(jié)數(shù)據(jù)類型(通過encode()函數(shù)把 字符串類型s 轉(zhuǎn)換為字節(jié)數(shù)據(jù)類型)碎捺。?



14.0 expandtabs()函數(shù)?

描述:返回一個字符串的副本。使原字符串中的制表符("\t")的使用空間變大贷洲。使用空格來擴(kuò)展空間收厨。?

語法: str.expandtabs(tabsize=8)? —> str? 返回字符串?

tabsize 的默認(rèn)值為8。tabsize值為0到7等效于tabsize=8优构。tabsize每增加1诵叁,原字符串中“\t”的空間會多加一個空格。

程序示例:?

str = "i love\tpython"

print(str.expandtabs())#默認(rèn)值為8

print(str.expandtabs(tabsize=8))

print(str.expandtabs())

print(str.expandtabs(2)) #tabsize值為0到7钦椭,與tabsize值為8相同

print(str.expandtabs(tabsize=2))

print(str.expandtabs(tabsize=9))? ? ??

print(str.expandtabs(tabsize=10))?

程序運行結(jié)果:?

i love? python

i love? python

i love? python

i love? python

i love? python

i love? ?python

i love? ? python?




解決查找指定字符(子字符串)位置問題:?

15.0 find()函數(shù)?

描述:查找字符串中指定的子字符串sub第一次出現(xiàn)的位置拧额,可以規(guī)定字符串的索引查找范圍。若無則返回 -1彪腔。?

語法:str.find(sub,start,end) -> int 返回整數(shù)?

sum —要索引的子字符串侥锦。start —索引的起始位置。默認(rèn)值為0德挣。end —索引的結(jié)束位置恭垦。默認(rèn)值為字符串長度len(str)。[start,end) 不包括end格嗅。

程序示例:?

str = "i love python"

print(str.find("o")) #索引子字符串"o"

print(str.find("0",4))#索引起始位置為4 索引范圍為:ve python

print(str.find("o",4,12))#索引起始位置為4,結(jié)束位置為12 索引范圍為:ve pytho

print(str.find(""))

print(str.find(" "))#返回第一個空格出現(xiàn)的位置番挺。

print(str.find("k")) #索引子字符串"k",不存在,返回-1


程序運行結(jié)果:?

3

-1

11

0

1

-1?

16.0 rfind()函數(shù)?

描述:查找字符串中指定的子字符串sub最后一次出現(xiàn)的位置屯掖,可以規(guī)定字符串的索引查找范圍玄柏。若無則返回 -1。?

語法:str.rfind(sub,start,end) -> int 返回整數(shù)?

sum —要索引的子字符串贴铜。start —索引的起始位置粪摘。默認(rèn)值為0。end —索引的結(jié)束位置绍坝。默認(rèn)值為字符串長度len(str)徘意。[start,end) 不包括end。

注:rfind()函數(shù)用法與find()函數(shù)相似陷嘴,rfind()函數(shù)返回指定子字符串最后一次出現(xiàn)的位置,find()函數(shù)返回指定子字符串第一次出現(xiàn)的位置间坐。?

程序示例:?

str = "i love python python"

print(str.rfind("o")) #默認(rèn)索引整個字符串str

print(str.rfind("o",11)) #索引范圍為:on python

print(str.rfind("o",0,12)) #索引范圍為 i love pytho

print(str.rfind("python")) #返回最后一次出現(xiàn)"python"的位置,即字母"p"最后一次出現(xiàn)的位置灾挨。

print(str.rfind("")) #等效于返回字符串str的長度邑退。

print(str.rfind(" "))#返回最后一個空格出現(xiàn)的位置

print(str.rfind("2"))? #字符串str中不存在字符"2",返回值為 -1?

程序運行結(jié)果:?

18

18

11

14

20

13

-1?

17.0 index()函數(shù)??

描述:查找字符串中第一次出現(xiàn)的子字符串的位置,可以規(guī)定字符串的索引查找范圍[star,end)劳澄。若無則會報錯地技。?

語法:str.index(sub, start, end)? -> int? 返回整數(shù)?

sub —— 查找的子字符串。start —— 索引的起始位置秒拔,默認(rèn)為0莫矗。end? —— 索引的結(jié)束位置,默認(rèn)為字符串的長度砂缩。[star,end)

程序示例:?

str = "i love python"

print(str.index("o"))? #默認(rèn)索引整個字符串

print(str.index("o",4))? #索引 ve python

print(str.index("o",4,12)) #索引 ve pytho

print(str.index("love"))? ? #索引多個字符

print(str.index("k"))? ? #索引字符串不存在作谚,報錯?

?程序運行結(jié)果:?

3

11

11

2

---------------------------------------------------------------------------

ValueError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Traceback (most recent call last)

<ipython-input-90-a880e13b1574> in <module>()

? ? ? 4 print(str.index("o",4,12)) #索引 ve pytho

? ? ? 5 print(str.index("love"))? ? #索引多個字符

----> 6 print(str.index("k"))

ValueError: substring not found


? ?注:index()函數(shù)和find()函數(shù)類似,但index()函數(shù)沒有找到子字符串會報錯庵芭。?

18.0 rindex()函數(shù)?

描述:查找字符串中最后一次出現(xiàn)的子字符串的位置妹懒,可以規(guī)定字符串的索引查找范圍[star,end),若無則會報錯双吆。?

語法:str.rindex(sub, start, end) -> int? ?返回整數(shù)眨唬。?

sub —— 查找的子字符串。start —— 索引的起始位置好乐,默認(rèn)為0匾竿。end? ——? 索引的結(jié)束位置,默認(rèn)為字符串的長度蔚万。[star,end)

注:rindex()函數(shù)用法與index()函數(shù)相似岭妖,rindex()函數(shù)返回指定子字符串最后一次出現(xiàn)的位置,index()函數(shù)返回指定子字符串第一次出現(xiàn)的位置笛坦。?

程序示例:?

str = "i love python python"

print(str.rindex("p")) #默認(rèn)索引整個字符串

print(str.rindex("o",5)) #索引的范圍為:e python python

print(str.rindex("o",5,13)) #索引范圍為:e python

print(str.rindex("python")) #返回最后一次出現(xiàn)"python"的位置,即字母"p"最后一次出現(xiàn)的位置区转。

print(str.rindex("k"))? #索引字符串不存在,報錯

len(str),str[5:13]?

程序運行結(jié)果:?

14

18

11

14

---------------------------------------------------------------------------

ValueError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Traceback (most recent call last)

<ipython-input-116-44cc5c1acea1> in <module>()

? ? ? 4 print(str.rindex("o",5,13)) #索引范圍為:e python

? ? ? 5 print(str.rindex("python")) #返回最后一次出現(xiàn)"python"的位置,即字母"p"最后一次出現(xiàn)的位置版扩。

----> 6 print(str.rindex("k"))

? ? ? 7 len(str),str[5:13]

ValueError: substring not found





解決格式化輸出問題:?

19.0 format()函數(shù)?

描述:返回一個格式化的字符串废离。?

語法:str.format(*args, **kwargs) ——> str 返回字符串? ? [模板字符串].format(逗號分隔的參數(shù))??

或? {參數(shù)序號:格式控制標(biāo)記}.format(逗號分隔的參數(shù))??

它是通過{}和:來代替%。模板字符串是一個由槽(用大括號{}來表示)和字符串組成的字符串礁芦,用來控制字符串的顯示效果蜻韭。大括號{}對應(yīng)著format()中逗號分隔的參數(shù)。

format()基本用法 :?

語法:[模板字符串].format(逗號分隔的參數(shù))??


? 通過位置??


程序示例:?

print("用法一:")

print("一日之計在于{}".format("晨"))

#如果模板字符串有多個槽{}柿扣,并且槽內(nèi)沒有指定的序號肖方,則按照槽{}出現(xiàn)的順序一一對應(yīng)format()函數(shù)中的不同參數(shù)

print("用法二:")

print("{}之計在于{}".format("一日","晨"))

#也可以通過在槽{}中指定format()函數(shù)中參數(shù)的序號來使用,參數(shù)是從0開始編號的未状。

print("用法三:")

print("{0}之計在于{1}".format("一日","晨"))

print("{1}之計在于{0}".format("晨","一日"))

# 如果想要在模板字符串中輸出大括號("{}"),則使用{{ 來表示 {? ?用 }} 來表示 }

print("用法四:")

print("{0}說得好:{{一{1}之計在于晨 一{2}之計在于春}}".format("俗話","日","年"))

#如果模板字符串中出現(xiàn)的槽{}和format()函數(shù)中參數(shù)個數(shù)不一致俯画,

#則必須要在槽{}中使用序號來指定參數(shù)的使用,否者會產(chǎn)生IndexError的錯誤司草。

print("用法五:")

print("{0}日之計在于晨, {0}年之計在于春".format("一"))

print("{}日之計在于晨, {}年之計在于春".format("一")) #槽中沒有指定參數(shù)序號艰垂,會報錯泡仗。?

程序運行結(jié)果:?

用法一:

一日之計在于晨

用法二:

一日之計在于晨

用法三:

一日之計在于晨

一日之計在于晨

用法四:

俗話說得好:{一日之計在于晨 一年之計在于春}

用法五:

一日之計在于晨, 一年之計在于春

---------------------------------------------------------------------------

IndexError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Traceback (most recent call last)

<ipython-input-20-5f7b4f063a3b> in <module>()

? ? ?19 print("用法五:")

? ? ?20 print("{0}日之計在于晨, {0}年之計在于春".format("一"))

---> 21 print("{}日之計在于晨, {}年之計在于春".format("一")) #槽中沒有指定參數(shù)序號,會報錯猜憎。

IndexError: tuple index out of range?


? 通過關(guān)鍵字參數(shù)??


程序示例:??

print("{year}之計在于{season}".format(year="一年",season="春"))?

程序運行結(jié)果:?

一年之計在于春?


?通過列表? ?


程序示例:?

l = ["一日","晨","一年","春"]

a = ["一日","晨"]

b = ["一年","春"]

print("{0[0]}之計在于{0[1]}, {0[2]}之計在于{0[3]}".format(l))

#format()函數(shù)中的參數(shù)可以是一個或多個列表娩怎,但要注意槽中序號的差異。

print("{0[0]}之計在于{0[1]}, {1[0]}之計在于{1[1]}".format(a,b))??

程序運行結(jié)果:?

一日之計在于晨, 一年之計在于春

一日之計在于晨, 一年之計在于春?


?通過字典?


程序示例:?

d1 = {"year":"一年","season":"春"}

print(" {year}之計在于{season}".format(**d1))

d2 = {"time":["一日","一年"],"season":["晨","春"]}

print("{time[0]}之計在于{season[0]},{time[1]}之計在于{season[1]}".format(**d2))?

程序運行結(jié)果:?

一年之計在于春

一日之計在于晨,一年之計在于春


format()函數(shù)格式控制方法:?

語法:{參數(shù)序號:格式控制標(biāo)記}.format(逗號分隔的參數(shù))??


? 槽中格式控制標(biāo)記規(guī)則

? ? ? ? :? ? ? ? ? ?[填充]? ?[對齊]? ?[寬度]? ? ? ? ? ? ? ?[,]? ? ? ? ? ? ? [.精度]? ? ? ? ? ? [類型]引導(dǎo)符號要填充的單個字符 < 左對齊 > 右對齊 ^ 居中對齊 設(shè)定槽的輸出寬度 數(shù)字的千位分隔符 適用于整數(shù)和浮點數(shù)? ? 用于控制浮點數(shù)小數(shù)部分 的精度(長度) 或字符串的最大輸出長度? 整數(shù)類型:b,c,d,o,x,X 浮點數(shù)類型:e,E,f,%?

[填充]——只能填充單個字符胰柑。填充字符時截亦,一定要選擇對齊方式,否者會有 Invalid format specifier 的報錯?

[對齊]——默認(rèn)對齊方式為左對齊柬讨。?

[寬度]——指的是槽的輸出寬度崩瓤,當(dāng)槽的實際寬度比槽的設(shè)定寬度大,則輸出槽的實際寬度姐浮,否者按設(shè)定的寬度輸出谷遂。?

[類型]——解析如下表:?

? 整數(shù)和浮點數(shù)類型的輸出格式

?類型描述類型描述b輸出整數(shù)的二進(jìn)制形式e輸出浮點數(shù)對應(yīng)的小寫字母e的指數(shù)形式c輸出整數(shù)對應(yīng)的Unicode字符E輸出浮點數(shù)對應(yīng)的大寫字母E的指數(shù)形式d輸出整數(shù)的十進(jìn)制形式f輸出標(biāo)準(zhǔn)浮點數(shù)形式o輸出整數(shù)的八進(jìn)制形式%輸出浮點數(shù)的百分比形式x輸出整數(shù)的小寫十六進(jìn)制形式? X輸出整數(shù)的大寫寫十六進(jìn)制形式??

格式控制標(biāo)記規(guī)則:[填充], [對齊], [寬度], [,], [.精度], [類型]? 這六個規(guī)則是可以任意組合使用的,但要按以上順序使用卖鲤。不過一般可以分為兩組肾扰。?


?一組為:[填充] [對齊] [寬度]? ?主要用于規(guī)范字符串的顯示格式。?


程序示例:?

s = "厲害了蛋逾,我的國"

print("{0:30}".format(s))? #默認(rèn)為左對齊集晚,寬度為30,序號0可省

print("{0:>30}".format(s))? #右對齊??

print("{0:*>30}".format(s)) #填充*字符,右對齊

print("{0:*^30}".format(s)) #居中對齊

print("{0:*30}".format(s)) #填充字符時区匣,沒有選擇對齊方式偷拔,會有 Invalid format specifier 的報錯?

程序運行結(jié)果:?

厲害了,我的國? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ?厲害了亏钩,我的國

***********************厲害了莲绰,我的國

***********厲害了,我的國************

---------------------------------------------------------------------------

ValueError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Traceback (most recent call last)

<ipython-input-86-959132fb938a> in <module>()

? ? ? 4 print("{0:*>30}".format(s)) #填充*字符姑丑,右對齊

? ? ? 5 print("{0:*^30}".format(s)) #居中對齊

----> 6 print("{0:*30}".format(s)) #填充字符時蛤签,沒有選擇對齊方式,會有 Invalid format specifier 的報錯

ValueError: Invalid format specifier


格式控制標(biāo)記規(guī)則也可以用變量來表示栅哀,即用槽{}來指定對應(yīng)的格式控制標(biāo)記規(guī)則震肮。?

程序示例:?

s = "厲害了,我的國"

a = "*"

b = "^"

c = 30

d = ["<","^",">"]

print("{0:{1}{2}{3}}".format(s,a,b,c))? #居中對齊留拾,寬度為30戳晌,填充字符為*

print("{0:{1}{2[2]}{3}}".format(s,a,d,c))#右對齊,用列表選擇對齊方式痴柔。

print("{0:{1}{2[0]}{3}}".format(s,a,d,c))??

? 程序運行結(jié)果:?

***********厲害了沦偎,我的國************

***********************厲害了,我的國

厲害了,我的國***********************?


? 另一組為:[,]? [.精度]? [類型]? ?主要于規(guī)范數(shù)字的輸出格式和控制字符串的輸出長度豪嚎。?


程序示例:?

print("{0:,}".format(123456789)) # 千位分隔符

print("{:,.3}".format(123456.123)) #保留3為有效數(shù)字

print("{:.3}".format("厲害了鸿捧,我的國")) # 輸出前三個字符

#輸出整數(shù)類型的格式化規(guī)則:

#print("輸出整數(shù)的二進(jìn)制形式:{0:b}\n輸出整數(shù)對應(yīng)的Unicode字符:{0:c}\n輸出整數(shù)的十進(jìn)制形式:{0:d}\n輸出整數(shù)的八進(jìn)制形式:{0:o}\n輸出整數(shù)的小寫十六進(jìn)制形式:{0:x}\n輸出整數(shù)的大寫寫十六進(jìn)制形式:{0:X}".format(123456))

# 等效于一下語句:

print("輸出整數(shù)的二進(jìn)制形式: {:b}".format(123456))

print("輸出整數(shù)對應(yīng)的Unicode字符: {:c}".format(123456))

print("輸出整數(shù)的十進(jìn)制形式: {:d}".format(123456))

print("輸出整數(shù)的八進(jìn)制形式: {:o}".format(123456))

print("輸出整數(shù)的小寫十六進(jìn)制形式: {:x}".format(123456))

print("輸出整數(shù)的大寫寫十六進(jìn)制形式: {:X}".format(123456))

#輸出浮點數(shù)類型的格式化規(guī)則:

print("輸出浮點數(shù)對應(yīng)的小寫字母e的指數(shù)形式: {:e}".format(123456.123456))

print("輸出浮點數(shù)對應(yīng)的大寫字母E的指數(shù)形式: {:E}".format(123456.123456))

print("輸出標(biāo)準(zhǔn)浮點數(shù)形式: {:f}".format(123456.123456))

print("輸出浮點數(shù)的百分比形式: {:%}".format(123456.123456))

#對比? [.精度]可以控制小數(shù)部分的輸出長度

print("輸出浮點數(shù)對應(yīng)的小寫字母e的指數(shù)形式: {:.3e}".format(123456.123456))

print("輸出浮點數(shù)對應(yīng)的大寫字母E的指數(shù)形式: {:.3E}".format(123456.123456))

print("輸出標(biāo)準(zhǔn)浮點數(shù)形式: {:.3f}".format(123456.123456))

print("輸出浮點數(shù)的百分比形式: {:.3%}".format(123456.123456))?

程序運行結(jié)果:?

123,456,789

1.23e+05

厲害了

輸出整數(shù)的二進(jìn)制形式: 11110001001000000

輸出整數(shù)對應(yīng)的Unicode字符: ?

輸出整數(shù)的十進(jìn)制形式: 123456

輸出整數(shù)的八進(jìn)制形式: 361100

輸出整數(shù)的小寫十六進(jìn)制形式: 1e240

輸出整數(shù)的大寫寫十六進(jìn)制形式: 1E240

輸出浮點數(shù)對應(yīng)的小寫字母e的指數(shù)形式: 1.234561e+05

輸出浮點數(shù)對應(yīng)的大寫字母E的指數(shù)形式: 1.234561E+05

輸出標(biāo)準(zhǔn)浮點數(shù)形式: 123456.123456

輸出浮點數(shù)的百分比形式: 12345612.345600%

輸出浮點數(shù)對應(yīng)的小寫字母e的指數(shù)形式: 1.235e+05

輸出浮點數(shù)對應(yīng)的大寫字母E的指數(shù)形式: 1.235E+05

輸出標(biāo)準(zhǔn)浮點數(shù)形式: 123456.123

輸出浮點數(shù)的百分比形式: 12345612.346%?


?綜合運用實例:?


程序示例:?

print("{:*^30,.2f}".format(123456.1235))#用*字符填充,居中對齊疙渣,寬度為30,千位分隔符堆巧,保留小數(shù)點后兩位妄荔,輸出標(biāo)準(zhǔn)浮點數(shù)

s = "一年有:"

a = 365.0000

b = "天"

print("{0:*>8}{1:,.1f}{2:*<5}".format(s,a,b))?

程序運行結(jié)果:?

**********123,456.12**********

****一年有:365.0天****?

20.0 format_map()函數(shù)?

描述:返回字符串的格式化版本。?

語法:str.format_map(mapping)? -> str 返回字符串?

程序示例:?

student = {"name":["張三","李四"],"idcard":[1,2]}

print("我的名字是{name[0]}谍肤,我的學(xué)號是{idcard[0]}".format_map(student))

print("我的名字是{name[0]}啦租,我的學(xué)號是{idcard[1]}".format_map(student))

print(["我的名字是{},我的學(xué)號是{}".format(*x) for x in zip(student["name"],student["idcard"])]) #以列表的形式輸出

print("我的名字是{}荒揣,我的學(xué)號是{}".format(*x) for x in zip(student["name"],student["idcard"]))

print(["我的名字是{}篷角,我的學(xué)號是{}".format(*x) for x in zip(*map(student.get,["name","idcard"]))]) #以列表的形式輸出

print("我的名字是{},我的學(xué)號是{}".format(*x) for x in zip(*map(student.get,["name","idcard"])))?

for i in range(len(student)):

? ? print("我的名字是{{name[0]}}系任,我的學(xué)號是{{idcard[0]}}".format(i).format_map(student))

? ? # {{ }} 等效于{ }? ?

程序運行結(jié)果:?

我的名字是張三恳蹲,我的學(xué)號是1

我的名字是張三,我的學(xué)號是2

['我的名字是張三俩滥,我的學(xué)號是1', '我的名字是李四嘉蕾,我的學(xué)號是2']

<generator object <genexpr> at 0x0000018F5E1CFF68>

['我的名字是張三,我的學(xué)號是1', '我的名字是李四霜旧,我的學(xué)號是2']

<generator object <genexpr> at 0x0000018F5E1CF200>

我的名字是張三错忱,我的學(xué)號是1

我的名字是張三,我的學(xué)號是1?



解決判斷問題(返回bool類型)?

21.0 endswith()函數(shù)?

描述:判斷字符串是否以指定字符或子字符串結(jié)尾挂据。?

語法:str.endswith("suffix", start, end) 或?

str[start,end].endswith("suffix")? ? 用于判斷字符串中某段字符串是否以指定字符或子字符串結(jié)尾以清。?

—> bool? ? 返回值為布爾類型(True,False)?

suffix — 后綴,可以是單個字符崎逃,也可以是字符串掷倔,還可以是元組("suffix"中的引號要省略,常用于判斷文件類型)婚脱。start —索引字符串的起始位置今魔。end — 索引字符串的結(jié)束位置。str.endswith(suffix)? star默認(rèn)為0障贸,end默認(rèn)為字符串的長度len(str)

? 注意:空字符的情況错森。返回值通常為True?

程序示例:?

str = "i love python"

print("1:",str.endswith("n"))?

print("2:",str.endswith("python"))

print("3:",str.endswith("n",0,6))# 索引 i love 是否以“n”結(jié)尾。

print("4:",str.endswith("")) #空字符

print("5:",str[0:6].endswith("n")) # 只索引 i love

print("6:",str[0:6].endswith("e"))

print("7:",str[0:6].endswith(""))

print("8:",str.endswith(("n","z")))#遍歷元組的元素篮洁,存在即返回True涩维,否者返回False

print("9:",str.endswith(("k","m")))

#元組案例

file = "python.txt"

if file.endswith("txt"):

? ? print("該文件是文本文件")

elif file.endswith(("AVI","WMV","RM")):

? ? print("該文件為視頻文件")

else:

? ? print("文件格式未知")


程序運行結(jié)果:?

1: True

2: True

3: False

4: True

5: False

6: True

7: True

8: True

9: False

該文件是文本文件?


22.0 startswith()函數(shù)?

描述:判斷字符串是否以指定字符或子字符串開頭。?

語法:str.endswith("suffix", start, end) 或?

str[start,end].endswith("suffix")? ? 用于判斷字符串中某段字符串是否以指定字符或子字符串結(jié)尾。?

—> bool? ? 返回值為布爾類型(True,False)?


suffix — 后綴瓦阐,可以是單個字符蜗侈,也可以是字符串,還可以是元組("suffix"中的引號要省略)睡蟋。start —索引字符串的起始位置踏幻。end — 索引字符串的結(jié)束位置。str.endswith(suffix)? star默認(rèn)為0戳杀,end默認(rèn)為字符串的長度減一(len(str)-1)该面。

注意:空字符的情況。返回值通常也為True?

程序示例:?

str = "hello,i love python"

print("1:",str.startswith("h"))

print("2:",str.startswith("l",2,10))# 索引 llo,i lo 是否以“n”結(jié)尾信卡。

print("3:",str.startswith("")) #空字符

print("4:",str[0:6].startswith("h")) # 只索引? hello,

print("5:",str[0:6].startswith("e"))

print("6:",str[0:6].startswith(""))

print("7:",str.startswith(("h","z")))#遍歷元組的元素隔缀,存在即返回True,否者返回False

print("8:",str.startswith(("k","m")))?

程序運行結(jié)果:?

1: True

2: True

3: True

4: True

5: False

6: True

7: True

8: False?

23.0 isalnum()函數(shù)?

描述:檢測字符串是否由字母和數(shù)字組成傍菇。?

語法:str.isalnum()? -> bool? 返回值為布爾類型(True,False)?

str中至少有一個字符且所有字符都是字母或數(shù)字則返回 True,否則返回 False

程序示例:?

str1 = "i love python 666"? #有空格猾瘸,不全是字母或數(shù)字

str2 = "python" #全為字母

str3 = "123"? #全為數(shù)字

str4 = "python666"? #字母和數(shù)字的組合

print(str1.isalnum())

print(str2.isalnum())

print(str3.isalnum())

print(str4.isalnum())?

程序運行結(jié)果:?

False

True

True

True?

24.0 isalpha()函數(shù)?

描述:檢測字符串是否只由字母組成。?

語法:str.isalpha()? -> bool? 返回值為布爾類型(True,False)?

字符串中至少有一個字符且所有字符都是字母則返回 True,否則返回 False丢习。

程序示例:?

str1 = "python" #全為字母

str2 = " python" #存在空格

str3 = "123"? #全為數(shù)字

str4 = "python666"? ?#字母和數(shù)字的組合

print(str1.isalpha())

print(str2.isalpha())

print(str3.isalpha())

print(str4.isalpha()?

程序運行結(jié)果:?

True

False

False

False?

25.0 isdecimal()函數(shù)?

描述:檢查字符串是否只包含十進(jìn)制字符牵触。該方法只存在于unicode對象中。?

注意:定義一個十進(jìn)制字符串咐低,只需要在字符串前添加前綴 'u' 即可荒吏。?

語法: str.isdecimal()? -> bool? 返回值為布爾類型(True,False)?

字符串中若只包含十進(jìn)制字符返回True,否則返回False渊鞋。

程序示例:?

str1 = u"123456"?

str2 = u"python666"

str3 = "123456"

str4 = "python666"

print(str1.isdecimal())

print(str2.isdecimal())

print(str3.isdecimal())

print(str4.isdecimal())?

程序運行結(jié)果:?

True

False

True

False?

26.0 isdigit()函數(shù)?

描述:檢測字符串是否只由數(shù)字組成.?

語法: str.isdigit()? -> bool? 返回值為布爾類型(True,False)?

字符串中至少有一個字符且所有字符都是數(shù)字則返回 True,否則返回 False绰更。注:能判斷“①”,不能判斷中文數(shù)字锡宋。但 isnumeric() 函數(shù)可以儡湾。

程序示例:?

str1 = "python" #全為字母

str2 = " python" #存在空格

str3 = "123"? #全為數(shù)字

str4 = "python666"? ?#字母和數(shù)字的組合

str5 = "一二三四五六七" #中文數(shù)字輸出False

str6 = "①"??

print(str1.isdigit())

print(str2.isdigit())

print(str3.isdigit())

print(str4.isdigit())

print(str5.isdigit())

print(str6.isdigit())?

程序運行結(jié)果:?

False

False

True

False

False

True?

27.0 isidentifier()函數(shù)?

描述:判斷str是否是有效的標(biāo)識符。str為符合命名規(guī)則的變量执俩,保留標(biāo)識符則返回True,否者返回False徐钠。?

語法:str.isidentifier()? -> bool? 返回值為布爾類型(True,False)?

程序示例:?

str1 = "123"? #變量名為123

str2 = "def"? #變量名為保留字

str3 = "_123"? #變量名有下劃線開頭

str4 = "student"#變量名由字母開端

print(str1.isidentifier())

print(str2.isidentifier())

print(str3.isidentifier())

print(str4.isidentifier())?

程序運行結(jié)果:?

False

True

True

True?

28.0? islower()函數(shù)?

描述:檢測字符串中的字母是否全由小寫字母組成。(字符串中可包含非字母字符)?

語法:str.islower()? -> bool? ?返回值為布爾類型(True,False)?

字符串中包含至少一個區(qū)分大小寫的字符役首,且所有這些區(qū)分大小寫的字符都是小寫尝丐,則返回 True,否則返回 False衡奥。

程序示例:?

str1 = "i love python"? #字符串中的字母全為小寫

str2 = "我愛python爹袁!"? #字符串中的字母全為小寫,也存在非字母的字符

str3 = "I love python" #字符串中有大寫字符

print(str1.islower())

print(str2.islower())

print(str3.islower())?

程序運行結(jié)果:?

True

True

False?

29.0 isupper()函數(shù)?

描述:檢測字符串中的字母是否全由大寫字母組成矮固。(字符串中可包含非字母字符)失息。?

語法:str.isupper()? -> bool? 返回值為布爾類型(True,False)?

字符串中包含至少一個區(qū)分大小寫的字符,且所有這些區(qū)分大小寫的字符都是大寫,則返回 True盹兢,否則返回 False邻梆。

程序示例:?

str1 = "I LOVE PYTHON"? #全為大寫字母

str2 = "i LOVE PYTHON"? #存在小寫字母

str3 = "我愛PYTHON"? ?#存在非字母的字符

print(str1.isupper())

print(str2.isupper())

print(str3.isupper())?

程序運行結(jié)果:?

True

False

True?

30.0 isnumeric()函數(shù)?

描述:測字符串是否只由數(shù)字組成。這種方法是只適用于unicode對象绎秒。?

注:把一個字符串定義為Unicode浦妄,只需要在字符串前添加 前綴 'u'??

語法:str.isnumeric()? -> bool? 返回值為布爾類型(True,False)?

字符串中只包含數(shù)字字符,則返回 True见芹,否則返回 False校辩。與isdigit()函數(shù)類似,但isnumeric()函數(shù)可以判斷中文數(shù)字辆童,功能更強大。

程序示例:?

str1 = u"123456"? #全為數(shù)字

str2 = "123456"

str3 = "python666"? #字母數(shù)字組合

str4 = "一二三四五六"? #中文數(shù)字

str5 = "①"

print(str1.isnumeric())

print(str2.isnumeric())

print(str3.isnumeric())

print(str4.isnumeric())

print(str5.isnumeric())?

程序運行結(jié)果:?

True

True

False

True

True?

31.0 isprintable()函數(shù)?

描述:判斷字符串中是否有打印后不可見的內(nèi)容惠赫。如:\n \t? 等字符把鉴。?

語法:? str.isprintable()? -> bool 返回值為布爾類型(True,False)?

若字符串中不存在\n \t 等不可見的內(nèi)容,則返回True,否者返回False儿咱。

程序示例:?

str1 = "i love? python"? #不存在用print()打印后不可見的內(nèi)容

str2 = "i love python \n" #存在用print()打印后不可見的內(nèi)容 \n

str3 = "i love \t python"

print(str1.isprintable())

print(str2.isprintable())

print(str3.isprintable())?

程序運行結(jié)果:?

True

False

False?

32.0 isspace()函數(shù)?

描述: 檢測字符串是否只由空格組成庭砍。?

語法:str.isspace()? -> bool? ?返回值為布爾類型(True,False)?

若字符串中只包含空格,則返回 True混埠,否則返回 False怠缸。

程序示例:?

str1 = "? ?"#空格

str2 = "i love python"?

print(str1.isspace())

print(str2.isspace())

print(str2[1].isspace()) #字符串str2 的第二個字符為空格?

程序運行結(jié)果:?

True

False

True?

33.0 istitle()函數(shù)?

描述:檢測判斷字符串中所有單詞的首字母是否為大寫,且其它字母是否為小寫钳宪,字符串中可以存在其它非字母的字符揭北。?

語法:str.istitle()? -> bool? 返回值為布爾類型(True,False)?

若字符串中所有單詞的首字母為大寫,且其它字母為小寫吏颖,則返回 True搔体,否則返回 False.

程序示例:?

str1 = "I Love Python" #各單詞的首字母均為大寫,其余字母為小寫

str2 = "I love python"?

str3 = "I LOVE PYTHON"

str4 = "我愛Python"? #存在其它非字母字符半醉,

print(str1.istitle())

print(str2.istitle())

print(str3.istitle())

print(str4.istitle())?

程序運行結(jié)果:?

True

False

False

True?





解決字符串兩端:?

34.0? strip()函數(shù)?

描述:從字符串str中去掉在其左右兩邊chars中列出的字符疚俱。?

注:chars傳入的是一個字符數(shù)組,編譯器去除兩端所有相應(yīng)的字符缩多,直到出現(xiàn)第一個在chars中不匹配的字符呆奕。詳看示例。?

語法: str.strip(chars)? -> str 返回一個新的字符串?

chars —— 要去除的字符? 默認(rèn)為空格或換行符衬吆。

程序示例:?

str = "123456789321"

print(str.strip("123")) #除去123梁钾,對于字符串str右邊,1 在 "123"中去除逊抡,2在"123"中去除陈轿,同理3也去除,但9不在"123"中,去除結(jié)束

str1 = "my name is ymyyyy"

print(str1.strip("my"))? #"my" 無空格,字母n前的空格不去掉麦射。

print(str1.strip("my ")) #"my "有空格蛾娶,所以str1左邊字母n前的空格被去掉。?

程序運行結(jié)果:?

456789

?name is?

name is?

35.0 lstrip()函數(shù)?

描述:從字符串str中去掉在其左邊chars中列出的字符潜秋。?

注:chars傳入的是一個字符數(shù)組蛔琅,編譯器去除兩端所有相應(yīng)的字符,直到出現(xiàn)第一個在chars中不匹配的字符峻呛。詳看示例罗售。?

語法:str.lstrip(chars)? -> str 返回一個新的字符串?

chars —— 要去除的字符? 默認(rèn)為空格或換行符。

程序示例:?

str1 = "bacjabck123kluabc"

print(str1.lstrip("abc"))? #只去掉左邊的"bac",左邊第4個字符j不在"abc"中钩述,去除結(jié)束

str2 = "12578asdfgh12"

print(str2.lstrip("12")) #只去掉字符串str2左邊的 12?

程序運行結(jié)果:?

jabck123kluabc

578asdfgh12?

36. rstrip()函數(shù)?

描述:從字符串str中去掉在其右邊chars中列出的字符寨躁。?

注:chars傳入的是一個字符數(shù)組,編譯器去除兩端所有相應(yīng)的字符牙勘,直到出現(xiàn)第一個在chars中不匹配的字符职恳。詳看示例。?

語法:str.rstrip(chars)? -> str 返回一個新的字符串?

chars —— 要去除的字符? 默認(rèn)為空格或換行符方面。

程序示例:?

str1 = "abcjabck123kluabcca"

print(str1.rstrip("abc"))? #只去掉右邊的"abcca",右邊第6個字符u不在"abc"中放钦,去除結(jié)束

str2 = "12578asdfgh11112"

print(str2.rstrip("12")) #只去掉字符串str2右邊的 11112?

程序運行結(jié)果:?

abcjabck123klu

12578asdfgh?



解決 制表 翻譯 問題:?

37.0 maketrans()函數(shù)?

描述:制作翻譯表,刪除表恭金,常與translate()函數(shù)連用操禀。 即:返回用于str.translate()函數(shù)翻譯的的轉(zhuǎn)換表。?

語法:maketrans(x, y=None, z=None, /)? 返回可用于str.translate()函數(shù)的轉(zhuǎn)換表?

str.maketrans(x,y,z)? #返回的是Unicode映射的字典横腿。

bytes.maketrans(x,y)? #返回的是bytes類型.

bytearray.maketrans(x,y)? #返回的是bytes類型颓屑。?

如果只有一個參數(shù)x,它必須是一個字典且為Unicode形式的映射。如果有兩個參數(shù)x和y耿焊,它們必須是長度相等的字符串邢锯,并且在結(jié)果映射中,x中的每個字符都將映射到y(tǒng)中相同位置的字符(Unicode形式的映射)搀别。如果有三個參數(shù)x,y和z.? x和y用法同上丹擎,z為指定要刪除的字符串,其結(jié)果中的字符將一一映射為:None歇父。bytes.maketrans(x,y) 和? bytearray.maketrans(x,y) 必須要有x和y兩個參數(shù)蒂培。注:z的長度可以和x和y不同。


?str.maketrans(x,y,z)形式:?


程序示例:?

s = "123456789"

#只有參數(shù)x榜苫,且x為字典护戳。

map1 = str.maketrans({"1":"a","2":"b","3":"c"})?

#單字符"1" "2" "3"對應(yīng)的Unicode編碼值分別為:49,50,51

#制作翻譯表,將 字符串s 中的單字符"1"替換為單字符"a"垂睬,單字符"2"替換為單字符"b",一一對應(yīng)媳荒。

print(map1,type(map1),ord("1"),ord("2"),ord("3")) #map1返回的是一個Unicode形式映射的字典

#只有參數(shù)x和參數(shù)y

map2 = str.maketrans("123","abc")

#單字符"1" "2" "3"對應(yīng)的Unicode編碼值如上抗悍,單字符"a" "b" "c"對應(yīng)的Unicode編碼值分別為:97,98,99

#制作翻譯表,將字符串s中的單字符"1"替換為單字符"a"钳枕,單字符"2"替換為單字符"b",一一對應(yīng)

print(map2,type(map2),ord("a"),ord("b"),ord("c"))#map2返回的也是一個Unicode形式映射的字典

#有x,y,z三個參數(shù)

map3 = str.maketrans("123","abc","56k")?

#字符串"123"和"abc"含義如上缴渊。字符串"567"為 字符串s 要刪除的字符,即制作刪除表。

#單字符"5" "6" "k"對應(yīng)的Unicode編碼值分別為:53,54,107

print(map3,type(map3),ord("5"),ord("6"),ord("k")) #map3返回的也是一個Unicode形式映射的字典


程序運行結(jié)果:?

49: 'a', 50: 'b', 51: 'c'} <class 'dict'> 49 50 51

{49: 97, 50: 98, 51: 99} <class 'dict'> 97 98 99

{49: 97, 50: 98, 51: 99, 53: None, 54: None, 107: None} <class 'dict'> 53 54 107

In [6]:



?bytes.maketrans(x,y)形式:?


程序示例:?

map4 = bytes.maketrans(b"123",b"abc")

print(type(b"123"),type(b"abc"),type(map4),map4)?

程序運行結(jié)果:?

<class 'bytes'> <class 'bytes'> <class 'bytes'>?

b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0abc456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'?


?bytearray.maketrans(x,y)形式:?


程序示例:?

map5 = bytearray.maketrans(b"123",b"abc")

print(type(b"123"),type(b"abc"),type(map5),map5)?

程序運行結(jié)果:?

<class 'bytes'> <class 'bytes'> <class 'bytes'>?

b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0abc456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'?

38.0 translate()函數(shù)?

描述:過濾(刪除)鱼炒,翻譯字符串衔沼。即根據(jù)maketrans()函數(shù)給出的字符映射轉(zhuǎn)換表來轉(zhuǎn)換字符串中的字符。?

注:translate()函數(shù)是先過濾(刪除)昔瞧,再根據(jù)maketrans()函數(shù)返回的轉(zhuǎn)換表來翻譯指蚁。?

語法:str.translate(table)? -> str 返回一個字符串?

str.translate(table)

bytes.translate(table, deletechars)? ??

bytearray.translate(table, deletechars)??

table —— 轉(zhuǎn)換表,轉(zhuǎn)換表是通過maketrans()函數(shù)轉(zhuǎn)換而來自晰。deletechars —— 字符串中要過濾(刪除)的字符凝化。

程序示例:?

s = "123456789abc"

s1 = b"123456789abc"

#只有參數(shù)x,且x為字典酬荞。

map1 = str.maketrans({"1":"a","2":"b","3":"c"})?

#單字符"1" "2" "3"對應(yīng)的Unicode編碼值分別為:49搓劫,50,51

#制作翻譯表,將 字符串s 中的單字符"1"替換為單字符"a",單字符"2"替換為單字符"b",一一對應(yīng)袜蚕。

print(map1,type(map1),ord("1"),ord("2"),ord("3")) #map1返回的是一個Unicode形式映射的字典

#只有參數(shù)x和參數(shù)y

map2 = str.maketrans("123","abc")

#單字符"1" "2" "3"對應(yīng)的Unicode編碼值如上,單字符"a" "b" "c"對應(yīng)的Unicode編碼值分別為:97绢涡,98,99

#制作翻譯表,將字符串s中的單字符"1"替換為單字符"a"牲剃,單字符"2"替換為單字符"b",一一對應(yīng)

print(map2,type(map2),ord("a"),ord("b"),ord("c"))#map2返回的也是一個Unicode形式映射的字典

#有x,y,z三個參數(shù)

map3 = str.maketrans("123","abc","56k")?

#字符串"123"和"abc"含義如上。字符串"567"為 字符串s 要刪除的字符,即制作刪除表雄可。

#單字符"5" "6" "k"對應(yīng)的Unicode編碼值分別為:53,54,107

print(map3,type(map3),ord("5"),ord("6"),ord("k")) #map3返回的也是一個Unicode形式映射的字典

map4 = bytes.maketrans(b"123",b"abc")

print(type(b"123"),type(b"abc"),type(map4),map4)

print("\n")

map5 = bytearray.maketrans(b"123",b"abc")

print(type(b"123"),type(b"abc"),type(map5),map5)

print("\n\n")

print(s.translate(map1)) #將 字符串s 中的"123" 分別替換為 "abc"

print(s.translate(map2)) #將 字符串s 中的"123" 分別替換為 "abc"

print(s.translate(map3)) #先將 字符串s 中的字符 "5","6" ,"k"過濾(刪除)凿傅,再將 字符串s 中的"123" 分別翻譯替換為 "abc"

print(s1.translate(map4))

print(s1.translate(map5))

print(s1.translate(map4,b"78b")) #先將s1中的b"78b" 過濾(刪除),再將 s1 中的b"123" 分別翻譯替換為 b"abc"

print(s1.translate(map5,b"9"))? #先將s1中的b"9" 過濾(刪除)数苫,再將 s1 中的b"123" 分別翻譯替換為 b"abc"?

程序運行結(jié)果:?

{49: 'a', 50: 'b', 51: 'c'} <class 'dict'> 49 50 51

{49: 97, 50: 98, 51: 99} <class 'dict'> 97 98 99

{49: 97, 50: 98, 51: 99, 53: None, 54: None, 107: None} <class 'dict'> 53 54 107

<class 'bytes'> <class 'bytes'> <class 'bytes'> b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0abc456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'

<class 'bytes'> <class 'bytes'> <class 'bytes'> b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0abc456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'

abc456789abc

abc456789abc

abc4789abc

b'abc456789abc'

b'abc456789abc'

b'abc4569ac'

b'abc45678abc'?





解決分割字符串問題:?

39.0 partition()函數(shù):?

描述:根據(jù)指定的分隔符(sep)將字符串進(jìn)行分割聪舒。從字符串左邊開始索引分隔符sep,索引到則停止索引。?

語法: str.partition(sep) -> (head, sep, tail)? 返回一個三元元組虐急,head:分隔符sep前的字符串箱残,sep:分隔符本身,tail:分隔符sep后的字符串止吁。?

sep —— 指定的分隔符被辑。 如果字符串包含指定的分隔符sep,則返回一個三元元組敬惦,第一個為分隔符sep左邊的子字符串习劫,第二個為分隔符sep本身笤成,第三個為分隔符sep右邊的子字符串。 如果字符串不包含指定的分隔符sep,仍然返回一個三元元組,第一個元素為字符串本身,第二第三個元素為空字符串

程序示例:?

str = "https://www.baidu.com/"

print(str.partition("://")) #字符串str中存在sep"://"

print(str.partition(","))? #字符串str中不存在sep",",返回了兩個空字符串费彼。

print(str.partition("."))? #字符串str中存在兩個"." 但索引到www后的"."? 停止索引。

print(type(str.partition("://"))) #返回的是tuple類型, 即元組類型?

程序運行結(jié)果:?

('https', '://', 'www.baidu.com/')

('https://www.baidu.com/', '', '')

('https://www', '.', 'baidu.com/')

<class 'tuple'>?

40.0? rpartition()函數(shù)?

描述:根據(jù)指定的分隔符(sep)將字符串進(jìn)行分割鸽粉。從字符串右邊(末尾)開始索引分隔符sep,索引到則停止索引。?

語法:str.rpartition(sep)? -> (head, sep, tail) 返回一個三元元組妨猩,head:分隔符sep前的字符串潜叛,sep:分隔符本身,tail:分隔符sep后的字符串壶硅。?

sep —— 指定的分隔符威兜。 如果字符串包含指定的分隔符sep,則返回一個三元元組庐椒,第一個為分隔符sep左邊的子字符串椒舵,第二個為分隔符sep本身,第三個為分隔符sep右邊的子字符串约谈。 如果字符串不包含指定的分隔符sep,仍然返回一個三元元組笔宿,第一個元素為字符串本身,第二第三個元素為空字符串棱诱。

注:rpartition()函數(shù)與partition()函數(shù)用法相似泼橘,rpartition()函數(shù)從右邊(末尾)開始索引,partition()函數(shù)從左邊開始索引迈勋。?

程序示例:?

str = "https://www.baidu.com/"

print(str.rpartition("://")) #字符串str中存在sep"://"

print(str.rpartition(","))? #字符串str中不存在sep",",返回了兩個空字符串炬灭。

print(str.rpartition("."))? #字符串str中存在兩個"." 但索引是從右邊(末尾)開始,索引到du后的"."? 停止索引靡菇。

print(type(str.partition("://"))) #返回的也是tuple類型重归, 即元組類型?

程序運行結(jié)果:?

('https', '://', 'www.baidu.com/')

('', '', 'https://www.baidu.com/')

('https://www.baidu', '.', 'com/')

<class 'tuple'>?

41.0? split()函數(shù)?

描述:拆分字符串。通過指定分隔符sep對字符串進(jìn)行分割厦凤,并返回分割后的字符串列表鼻吮。?

語法: str.split(sep=None, maxsplit=-1)? -> list of strings? 返回 字符串列表? 或str.split(sep=None, maxsplit=-1)[n]? ?

sep —— 分隔符,默認(rèn)為空格,但不能為空即(")较鼓。maxsplit —— 最大分割參數(shù)椎木,默認(rèn)參數(shù)為-1。[n] —— 返回列表中下標(biāo)為n的元素博烂。列表索引的用法拓哺。

程序示例:?

str1 = "i love python"

str2 = "https://www.baidu.com"

str3 = "script<i love python>script"

str4 = "i \n love \n python"

print(str1.split()) #默認(rèn)空格分割。

print(str2.split("."))#以"."為分隔符,maxsplit默認(rèn)為-1

print(str2.split(".",-1)) #maxsplit為-1

print(str2.split(".",1)) #以"."為分隔符,分割一次脖母。

print(str2.split(".")[1]) #分割后士鸥,輸出列表中下標(biāo)為1的元素

print(str3.split("<")[1].split(">")[0])

print(str4.split("\n")) #可用于去掉字符串中的"\n" "\t"等?

程序運行結(jié)果:?

['i', 'love', 'python']

['https://www', 'baidu', 'com']

['https://www', 'baidu', 'com']

['https://www', 'baidu.com']

baidu

i love python

['i ', ' love ', ' python']?

42.0? rsplit()函數(shù)?

描述:拆分字符串。通過指定分隔符sep對字符串進(jìn)行分割谆级,并返回分割后的字符串列表,類似于split()函數(shù)烤礁,只不過 rsplit()函數(shù)是從字符串右邊(末尾)開始分割讼积。?

語法: str.rsplit(sep=None, maxsplit=-1)? -> list of strings? 返回 字符串列表? 或str.rsplit(sep=None, maxsplit=-1)[n]? ?

sep —— 分隔符,默認(rèn)為空格,但不能為空即(")脚仔。maxsplit —— 最大分割參數(shù)勤众,默認(rèn)參數(shù)為-1。[n] —— 返回列表中下標(biāo)為n的元素鲤脏。列表索引的用法们颜。

程序示例:?

str = "https://www.baidu.com"

print(str.rsplit()) #默認(rèn)空格分割。

print(str.rsplit(".")) #以"."為分隔符,maxsplit默認(rèn)為-1

print(str.rsplit(".",1)) #以"."為分隔符,分割一次猎醇。從字符串右邊(末尾)開始分割窥突。

print(str.rsplit(".",1)[1]) #分割后,輸出列表中下標(biāo)為1的元素?

程序運行結(jié)果:?

['https://www.baidu.com']

['https://www', 'baidu', 'com']

['https://www.baidu', 'com']

com?

43.0 splitlines()函數(shù)?

描述:按照('\n', '\r', \r\n'等)分隔硫嘶,返回一個包含各行作為元素的列表阻问,默認(rèn)不包含換行符。?

符號描述\n換行符\r回車符\r\n回車+換行

語法:str.splitlines(keepends) -> list of strings? 返回 字符串列表?

keepends —— 默認(rèn)參數(shù)為False 沦疾,譯為 不保留換行符称近。參數(shù)為True , 譯為 保留換行符。

程序示例:?

s1 = """i

love

python

"""

s2 = "i\nlove\npython\n" #與s1等效哮塞。

s3 = "123\n456\r789\r\nabc"

print(s1.splitlines(True))?

print(s1.splitlines()) #keepends 默認(rèn)為False

print(s1.splitlines(False))

print(s2.splitlines())

print(s3.splitlines()) #遇到("\n"? "\r"? "\r\n"等)即分隔刨秆。?

程序運行結(jié)果:?

['i\n', 'love\n', 'python\n']

['i', 'love', 'python']

['i', 'love', 'python']

['i', 'love', 'python']

['123', '456', '789', 'abc']?

44.0 join()函數(shù)?

描述:將iterable變量的每一個元素后增加一個str字符串。?

語法: str.join(iterable)? -> str? 返回字符串 即:返回一個以str作為分隔符忆畅,將iterable中的各元素合并連接成一個新的字符串衡未。?

str——分隔符×诰欤可以為空眠屎。iterable—— 要連接的變量 剔交,可以是 字符串肆饶,元組,字典岖常,列表等驯镊。

程序示例:?

#對列表進(jìn)行操作

l = ["1","2","3"]

print(" ".join(l)) #以空格為分隔符

print(",".join(l)) #以逗號為分隔符

#對字符串進(jìn)行操作

str = "python"

print(" ".join(str)) #以空格為分隔符

print(",".join(str)) #以逗號為分隔符

#對字典進(jìn)行操作

d = {"a":1,"b":2,"c":3}

print(" ".join(d)) #以空格為分隔符

print(",".join(d)) #以逗號為分隔符

#對元組進(jìn)行操作

s = ("1","2","3")

print(" ".join(s)) #以空格為分隔符

print(",".join(s)) #以逗號為分隔符?

程序運行結(jié)果:?

1 2 3

1,2,3

p y t h o n

p,y,t,h,o,n

b c a

b,c,a

1 2 3

1,2,3?




解決替換問題:?

45.0 replace()函數(shù):?

描述:返回字符串str的副本,所有old子字符串被替換為new字符串竭鞍。?

語法:str.replace(old, new, count) -> str 返回字符串str的副本?

old —— 將被替換的子字符串板惑。new —— 新子字符串,用于替換old子字符串偎快。count —— 替換的次數(shù)冯乘,默認(rèn)全部替換。

程序示例:?

s = "i love python python "

print(s.replace("o","w")) #默認(rèn)字符串中的全部"o" 全部替換為"w"

print(s.replace("o","w",2)) #只替換掉前兩個子字符串 "o"

print(s.replace("python","c++"))? #子字符串可以是多個字符晒夹。

print(s.replace("python","c++",1))?

程序運行結(jié)果:?

i lwve pythwn pythwn?

i lwve pythwn python?

i love c++ c++?

i love c++ python

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裆馒,一起剝皮案震驚了整個濱河市姊氓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喷好,老刑警劉巖翔横,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梗搅,居然都是意外死亡禾唁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門无切,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荡短,“玉大人,你說我怎么就攤上這事订雾≈ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵洼哎,是天一觀的道長烫映。 經(jīng)常有香客問我,道長噩峦,這世上最難降的妖魔是什么锭沟? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮识补,結(jié)果婚禮上族淮,老公的妹妹穿的比我還像新娘。我一直安慰自己凭涂,他們只是感情好祝辣,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著切油,像睡著了一般蝙斜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澎胡,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天孕荠,我揣著相機與錄音,去河邊找鬼攻谁。 笑死稚伍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戚宦。 我是一名探鬼主播个曙,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼受楼!你這毒婦竟也來了垦搬?” 一聲冷哼從身側(cè)響起祠挫,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悼沿,沒想到半個月后等舔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡糟趾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年慌植,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片义郑。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝶柿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出非驮,到底是詐尸還是另有隱情交汤,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布劫笙,位于F島的核電站芙扎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏填大。R本人自食惡果不足惜戒洼,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望允华。 院中可真熱鬧圈浇,春花似錦、人聲如沸靴寂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽百炬。三九已至褐隆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間收壕,已是汗流浹背妓灌。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工轨蛤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜜宪,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓祥山,卻偏偏與公主長得像圃验,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子缝呕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容