1. 程式人生 > >python中split()函式講解

python中split()函式講解

本文講述的是string.split(s[, sep[, maxsplit]]),針對string型別的split()函式。它主要是切割字串,結果返回由字串元素組成的一個列表,具體怎麼使用看下面的程式碼。

1. 無引數的情況

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']

當沒有引數的情況下,函式預設會以空格,回車符,空格符等作為分割條件。

2. 有引數的情況

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']

函式會以引數為分割條件,把字串進行分割,得到的每個分割段作為列表的元素返回。

3. 當具有兩個引數的情況

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']

第二個引數的意思是你想分多少次,b1,b2,b8都好理解。有人可能會問b9那個是怎麼回事,最大隻能分成9段呀,分8次就行了。沒錯,但是當分第8次的時候,最後一個分割段是”student”,再對“student”進行條件為“,”分割的時候是分不了的,也就是說還是原來的字串不動。意思就是第二個引數值超過最大分割次數其實是沒有意思的,不過程式不會報錯!