python中split()和split(' ')的區別


總結:split()的時候,多個空格當成一個空格;split(' ')的時候,多個空格也要分割,會分割出來空。

例1:

牛客網:牛客最近來了一個新員工Fish,每天早晨總是會拿着一本英文雜志,寫些句子在本子上。同事Cat對Fish寫的內容頗感興趣,有一天他向Fish借來翻看,但卻讀不懂它的意思。例如,“student. a am I”。后來才意識到,這家伙原來把句子單詞的順序翻轉了,正確的句子應該是“I am a student.”。Cat對一一的翻轉這些單詞順序可不在行,你能幫助他么?

這樣的代碼就可以通過:

s='student a am I'
s=' '       
if not s :
    print(s)
s=s.split(' ')
        
result=[]
for i in range(len(s)-1,-1,-1):
    result.append(s[i])
    if i:#最后一個位置不需要加空格
        result.append(' ')
m=''.join(result)
length=(len(m))
print(m)
print(length)

輸出:

 
1

 

如果把split(' ')中的空格去掉,就處理不了輸入為空的情況:

s='student a am I'
s=' '       
if not s :
    print(s)
s=s.split()
        
result=[]
for i in range(len(s)-1,-1,-1):
    result.append(s[i])
    if i:#最后一個位置不需要加空格
        result.append(' ')
m=''.join(result)
length=(len(m))
print(m)
print(length)

輸出:

0

例2:

用split()測試一下看看:

s0='we are students'#一個空格
s1='we are  students'#兩個空格
s2='we are   students'#三個空格
s3='we are    students'#四個空格

s0=s0.split()
print(s0)
print(len(s0))
s1=s1.split()
print(s1)
print(len(s1))
s2=s2.split()
print(s2)
print(len(s2))
s3=s3.split()
print(s3)
print(len(s3))

輸出為:

['we', 'are', 'students']
3
['we', 'are', 'students']
3
['we', 'are', 'students']
3
['we', 'are', 'students']
3

 

用split(' ')測試一下看看:

s0='we are students'#一個空格
s1='we are  students'#兩個空格
s2='we are   students'#三個空格
s3='we are    students'#四個空格

s0=s0.split(' ')
print(s0)
print(len(s0))
s1=s1.split(' ')
print(s1)
print(len(s1))
s2=s2.split(' ')
print(s2)
print(len(s2))
s3=s3.split(' ')
print(s3)
print(len(s3))

輸出:

['we', 'are', 'students']
3
['we', 'are', '', 'students']
4
['we', 'are', '', '', 'students']
5
['we', 'are', '', '', '', 'students']
6

總結:split()的時候,多個空格當成一個空格;split(' ')的時候,多個空格也要分割,會分割出來空。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM