1. 程式人生 > >Python學習筆記:split()函式和strip()函式的使用說明

Python學習筆記:split()函式和strip()函式的使用說明

一、函式說明

1、split()函式

split():拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表(list)

語法:str.split(str="",num=string.count(str))[n]

引數說明:
str:表示為分隔符,預設為空格,但是不能為空('')。若字串中沒有分隔符,則把整個字串作為列表的一個元素
num:表示分割次數。如果存在引數num,則僅分隔成 num+1 個子字串,並且每一個子字串可以賦給新的變數
[n]:   表示選取第n個分片

注意:當使用空格作為分隔符時,對於中間為空的項會自動忽略

2、os.path.split()函式

os.path.split():

按照路徑將檔名和路徑分割開

語法:os.path.split('PATH')

引數說明:

(1)PATH指一個檔案的全路徑作為引數:

(2)如果給出的是一個目錄和檔名,則輸出路徑和檔名

(3)如果給出的是一個目錄名,則輸出路徑和為空檔名

3、split()函式的巢狀使用

巢狀使用split()函式可實現字串的前後擷取。

4、利用str.lower()he str.upper()來實現對字串大小寫的轉換,巧妙使用列表生成式可過濾掉字串中含有的空白字元等

5、str.strip()函式

語法: rm為要刪除的字元序列,當rm為空時,預設刪除空白符(包括'\n', '\r', '\t',  ' ')

str.strip(rm):刪除字串開頭、結尾處,位於 rm刪除序列的字元;

str.lstrip(rm):刪除字串開頭處,位於 rm刪除序列的字元;

str.rstrip(rm):刪除字串結尾處,位於 rm刪除序列的字元。

二、使用例項

a = 'www.marsjhao.com.cn'

#以預設分隔符空格的效果為
print a.split()
['www.marsjhao.com.cn']

#注意比較預設空格符和' '的區別
'a b   c'.split()
Out[2]: ['a', 'b', 'c']
'a b   c'.split(' ')
Out[3]: ['a', 'b', '', '', 'c']

#配合正則表示式使用更加方便
import re

re.split(r'\s+', 'a b   c')
Out[5]: ['a', 'b', 'c']
re.split(r'[\s\,]+', 'a,b, c  d')
Out[6]: ['a', 'b', 'c', 'd']
re.split(r'[\s\,\;]+', 'a,b;; c  d')
Out[7]: ['a', 'b', 'c', 'd']

#以"."為分隔符的效果為
print a.split('.')
['www', 'marsjhao', 'com', 'cn']

#以"."為分隔符分割0次
print a.split('.',0)
['www.marsjhao.com.cn']

#以"."為分隔符分割1次
print a.split('.',1)
['www', 'marsjhao.com.cn']

#以"."為分隔符分割1次並取序號為[1]的元素
print a.split('.',1)[1]
marsjhao.com.cn

#以"."為分隔符分割2次並將分割後的3個元素分別賦給3個變數
a1, a2, a3 = a.split('.',2)
print a1
www
print a2
marsjhao
print a3
com.cn

#將完整的檔案路徑分離為檔案所在資料夾路徑和檔名
import os
print os.path.split('D:/Python/python3.6/untitled0.py')
('D:/Python/python3.6', 'untitled0.py')

#巢狀使用split()函式可實現字串的前後擷取
b = 'aaa*
[email protected]
' print b.split('*')[1].split('@')[0] www.marsjhao.com.cn print b.split('*')[1].split('@')[0].split('.') ['www', 'marsjhao', 'com', 'cn'] #利用str.lower()he str.upper()來實現對字串大小寫的轉換,巧妙使用列表生成式可過濾掉字串中含有的空白字元等 listOfTokens = ['I','am','','good','Boy'] print [tok.lower() for tok in listOfTokens if len(tok) > 0] ['i', 'am', 'good', 'boy'] #str.strip()函式使用例項 c = ' \n\t\rpython ' d = ' \npython\t ' c.strip() 'python' d.lstrip() 'python\t ' e = '123python321' e.strip('12') '3python3'

相關推薦

Python學習筆記split()函式strip()函式的使用說明

一、函式說明 1、split()函式 split():拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表(list) 語法:str.split(str="",num=string.count(str))[n] 引數說明: str:表示為分隔符,預設為空格,但是

Python學習筆記中文編碼基礎語法

Python 中文編碼 Python中預設的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。 解決方法為只要在檔案開頭加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了(注意:#coding=utf-8

Python學習筆記虛擬環境

Python 應用程式經常會使用一些不屬於標準庫的包和模組。應用程式有時候需要某個特定版本的庫,因為它需要一個特定的 bug 已得到修復的庫或者它是使用了一個過時版本的庫的介面編寫的。 這就意味著可能無法安裝一個 Python 來滿足每個應用程式的要求。如果應

Python學習筆記python3中的range()函式的返回物件型別

在python3中 print(range(10)) range(0,10) 得出的結果是 range(0,10) ,而不是[0,1,2,3,4,5,6,7,8,9] ,為什麼呢? 而且原來Python2版本中的xrange也已經取消。 官網原話: In many ways the object re

python學習筆記第12天 列表推導式生成器

目錄 1. 迭代器 2. 推導式 1. 迭代器 什麼是生成器呢,其實生成器的本質就是迭代器;在python中有3中方式來獲取生成器(這裡主要介紹前面2種) 通過生成器函式獲取 通過各種推導式來實現生成器 生成器函式 我們來看一個普通的函式: In[2]: def fu

python學習筆記第12天 列表推導式生成器

clas traceback 括號 module recent else 接收 工作 last 目錄 1. 叠代器 2. 推導式 1. 叠代器 什麽是生成器呢,其實生成器的本質就是叠代器;在python中有3中方式來獲取生成器(這裏主要介紹前面2種) 通過生成器函數獲

python學習筆記print 函式vs. return函式,global變數 vs. local變數

print函式與return函式差別: 一、結果: (1)return expression    ————  計算expression (2)print(statements)————  列印statements 二、輸出: (1)在互動

python學習筆記 round()函式及相關

一、round(x [ , n ]):返回x(可以為數值或運算表示式)的四捨五入值,保留n位小數。 Note1 :當小數點後正好為5時,round(X.5)=X或者X+1(trap!) ***在python2.7的doc中,round()的最後寫著,“Values are rounded t

python學習筆記 range()函式、算數運算子“//”,迴圈while與for

range() 函式——可建立一個整數列表,一般用在 for 迴圈中,函式語法:range(start, stop[, step]) start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5); stop: 計數到 stop 結束,但

python學習筆記取整函式

三種取整方式: 一、向下取整:即捨去小數點後所有資料。int (n),例如: int(3.67) #figure out 3 二、四捨五入:round(n),例如: round(4.56) #figure out 5 round(-4.56) #figure o

python學習筆記(九)迴圈(forwhile)

  在python中迴圈包括for和while 1、while迴圈   while 判斷條件:     statements ----表示:判斷條件為真時執行statements,為假不執行 2、for語句   for var in seq:     statements1   else:

python學習筆記(十五)迭代器生成器

一、迭代器:   1、迭代器是python最強大的功能之一,是訪問集合元素的一種方式。   2、迭代器是一個可以記住遍歷的位置的物件。   3、迭代器物件從集合的第一個元素開始訪問,直到所有的元素被訪問結束。迭代器只能往前不能後退。   4、迭代器的兩個基本方法:iter()和next()   5、

python學習筆記print()函式

<版本:python3.6> print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) print預設以'\n'結尾,也就是每執行一次均換行。 (1)輸出不換行:直接去掉'\n'即可,也

python學習筆記函式進階與模組

1、globals()    返回裝有全域性變數及其對應值的字典    locals()    返回裝有當前區域性變數及其對應值的字典,對於巢狀函式,不包含上層函式的區域性變數 2、eval函式  &nbs

python學習筆記函式與變數作用域

1、函式的引數傳遞     是引用傳遞,如果傳入的是可變物件(列表,字典,集合等),則對其進行修改(注意,不是賦值,而是修改),則在主函式中該物件被修改;     傳入的形參,是一個區域性變數,只是一開始引用了實參,如果繫結關係被改變,

python學習筆記集合set,函式基礎

1、遍歷字典     for k,v in d:     則k,v分別是字典中鍵值對的鍵和值 2、字典的推導式     比如d = {x:x**2 for x in range(10)}  &nb

python學習筆記泊松分佈負指數分佈隨機數的python實現

不能算是純原創吧,算半個轉載好了,但保證一定能用! 首先匯入模組 import math import random 泊松分佈 def poisson(L): """ poisson distribution return a integer

python學習筆記range()函式用法

>>> range(1,5) #代表從1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表從1到5,間隔2(不包含5) [

Python學習筆記輸入輸出

本文來自:入門指南 開胃菜參考:開胃菜 使用Python直譯器:使用Python直譯器 本文對Python的簡介:Python簡介 Python流程介紹:深入Python流程 Python資料結構:Python資料結構 Python:模組:Pytho

Python學習筆記——叠代器生成器

返回對象 node manual 通過 line 計數 bject repr 對象 1、手動遍歷叠代器   使用next函數,並捕獲StopIteration異常。 def manual_iter(): with open(‘./test.py‘) as f: