本文講述的是string.split(s[, sep[, maxsplit]]),針對(duì)string類型的split()函數(shù)徙硅。它主要是切割字符串牙肝,結(jié)果返回由字符串元素組成的一個(gè)列表男应,具體怎么使用看下面的代碼闹司。
參數(shù)說(shuō)明:
str: 表示為分隔符,默認(rèn)為空格沐飘,但是不能為空(”)游桩。若字符串中沒(méi)有分隔符,則把整個(gè)字符串作為列表的一個(gè)元素
num:表示分割次數(shù)薪铜。如果存在參數(shù)num,則僅分隔成 num+1 個(gè)子字符串恩溅,并且每一個(gè)子字符串可以賦給新的變量
[n]: 表示選取第n個(gè)分片
注意:當(dāng)使用空格作為分隔符時(shí)隔箍,對(duì)于中間為空的項(xiàng)會(huì)自動(dòng)忽略
- 無(wú)參數(shù)的情況
a="my name is zhangkang"
b="my\nname\nis\nzhangkang"
c="my\tname\tis\tzhangkang"
a=a.split()
b=b.split()
c=c.split()
print(a)
print(b)
print(c)
輸出:
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
當(dāng)沒(méi)有參數(shù)的情況下,函數(shù)默認(rèn)會(huì)以空格脚乡,回車符蜒滩,空格符等作為分割條件。
2.有參數(shù)的情況
d="my,name,is,zhangkang"
e="my;name;is;zhangkang"
f="my-name-is-zhangkang"
d=d.split(",")
e=e.split(";")
f=f.split("-")
print(d)
print(e)
print(f)
輸出:
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
函數(shù)會(huì)以參數(shù)為分割條件奶稠,把字符串進(jìn)行分割俯艰,得到的每個(gè)分割段作為列表的元素返回。
- 當(dāng)具有兩個(gè)參數(shù)的情況
a="My,name,is,zhangkang,and,I,am,a,student"
b1=a.split(",",1)
b2=a.split(",",2)
b8=a.split(",",8)
b9=a.split(",",9)
print(b1)
print(b2)
print(b8)
print(b9)
輸出:
['My', 'name,is,zhangkang,and,I,am,a,student']
['My', 'name', 'is,zhangkang,and,I,am,a,student']
['My', 'name', 'is', 'zhangkang', 'and', 'I', 'am', 'a', 'student']
['My', 'name', 'is', 'zhangkang', 'and', 'I', 'am', 'a', 'student']
第二個(gè)參數(shù)的意思是你想分多少次锌订,b1,b2,b8都好理解竹握。有人可能會(huì)問(wèn)b9那個(gè)是怎么回事,最大只能分成9段呀辆飘,分8次就行了啦辐。沒(méi)錯(cuò)谓传,但是當(dāng)分第8次的時(shí)候,最后一個(gè)分割段是”student”,再對(duì)“student”進(jìn)行條件為“芹关,”分割的時(shí)候是分不了的续挟,也就是說(shuō)還是原來(lái)的字符串不動(dòng)。意思就是第二個(gè)參數(shù)值超過(guò)最大分割次數(shù)其實(shí)是沒(méi)有意思的侥衬,不過(guò)程序不會(huì)報(bào)錯(cuò)诗祸!