国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python 字符串操作2

1.字符串的對齊方式:
①:center(int[,str])
>>> string = 'Fishhat'
>>> string.center(55)
'                              Fishhat                              '
>>> string.center(55,'*')
'************************Fishhat************************'
②:ljust(int[,str])
>>> string.ljust(55)
'Fishhat                                                            '
>>> string.ljust(55,'*')
'Fishhat************************************************'
③:rjust(int[,str])
>>> string.ljust(55)
'                                                            Fishhat'
>>> string.ljust(55,'*')
'************************************************Fishhat'
④:%(int)s
>>> print '% 55s' % string
Fishhat


2.字符串中的轉(zhuǎn)義字符:
\\    斜杠
\'    單引號
\"    雙引號
\a    系統(tǒng)喇叭
\b    退格符
\n    換行符
\t    橫向制表符
\v    縱向制表符
\r    回車符
\f    換頁符
\o    八進制數(shù)代表的字符    #還搞不懂...
\x    十六進制數(shù)代表的字符   #還搞不懂...
\000 終止符,忽略\000后的全部字符

 

3.字符串中的轉(zhuǎn)義符過濾函數(shù):
①:strip()--過濾字符串中所有的轉(zhuǎn)義符
②:lstrip()--過濾字符串中第一個轉(zhuǎn)義符
③:rstrip()--過濾字符串中最后的轉(zhuǎn)義符
后記:在使用的時候返回的結果不是預想中的正確結果.還待查詢相關具體資料

 

4.字符串的連接
①:Python中可以使用'+'、'+='、連接若干個字符串,如果是以下情況,Python則自動連接:
>>> str = 'fish' 'hat' #若干個字符串之間如果只有空格,Python會自動連接
>>> print str
fishhat
>>> str += ' learning Python!' #使用運算符追加字符串
>>> print str
fishhat learning Python
②:使用str2.join(str)函數(shù)進行連接,其中str為需要連接的字符串序列或者一個字符串,str2為連接中填補的字符:
>>> string = ('apple','banana','china')
>>> print '-'.join(string)      #向string這個元組中的多個字符串元素之間加上'-'然后輸出
apple-banana-china
>>> print ''.join(string)      #加入的字符也可以是空的
applebananachina
>>> print '-'.join('fishhat')   #直接使用
f-i-s-h-h-a-t                     #自動在每個子字符中加入'-'

 

5.用split(str[,int])函數(shù)截取字符串
>>> string = 'f-i-s-h-h-a-t'
>>> string.split('-')           #按'-'作為截取子字符串的符號,也就是說遇到一個'-'則截取一個子字符
['f','i','s','h','h','a','t']           #最后返回一個截取得到的子字符列表
>>> string.split('-',2)         #在按'-'截取子字符的時候,當截取到第2個'-'的時候就停止截取,后面的字符全部按一個子字符返回(也就是說不管有沒有'-'Python都不會理 了,它認為你只指定了2個'-'有效)
['f','i','s-h-h-a-t']              #實際上返回了三個子字符,因為在Python找到第一個'-'之前已經(jīng)有一個'f'就把'f'做子字符


后記:這里很容易混淆,后面的整數(shù)參數(shù)(不提供系統(tǒng)默認截取所有的)其實就相當于你要在字符串中畫多少條 界,相當于切一條蛋糕,你切兩刀是不是得三塊?至于每塊蛋糕的長短,就取決于你在蛋糕上做好的標記,也就相當于剛才的'-'

 

6.startswith()函數(shù)和endswith()函數(shù)
①:startswith(substring[,start[,end]])--用于判斷字符串是否以substring字符開始的,start和 end需要對比的字符區(qū)間,默認是整個字符串,成功返回True失敗返回False
>>> str = 'fishhat'
>>> str.startswith('fi')
True
>>> str.startswith('sh',2,4)
True
>>> str.startswith('sh',)
②:endswith(substring[,start[,end]])--用于判斷字符串是否以substring字符結束的,start和end是 需要對比的字符區(qū)間,默認是整個字符串,成功返回True失敗返回False
>>> str.endswith('hat')
True
>>> str.endswith('ha',4,6)
True

1.實現(xiàn)字符串的反轉(zhuǎn)

由于Python目前沒有專門用于字符串反轉(zhuǎn)的函數(shù)所以自定義一個,實現(xiàn)方法是通過從字符串的尾部開始取得子字符,然后逐個 連接起來后返回一個完整的反轉(zhuǎn)字符串:

>>> def reverse(str):
>>> ... rstr = ''               #定義一個用于連接字符串后返回的變量
>>> ... lstr = list(str)      #將字符串分解成一個列表,即一個子字符為列表的一個元素
>>> ... for i in range(len(str),0,-1):    #反向遍歷索引,起始值為字符串的長度(就是以尾部到首部的順序生成索引)
>>> ...      rstr += ''.join(lstr[i-1])        #注意這里的索引得減去1,否則原字符串的第一個字符就不能返回(因為是0)
>>> ... return rstr                              #返回經(jīng)過反向遍歷字符串重新連接起來的反向字符串
>>> ...
>>> string = 'Fishhat'
>>> list(string)                         #這里先補上剛才接觸到list()函數(shù)的用法與功能
>>> ['F','i','s','h','h','a','t']          #返回一個子字符集合的列表
>>> print reverse(string)       #試試剛才自定義的字符串反轉(zhuǎn)函數(shù)怎么樣
tahhsiF                                  #好樣的,我們成功的把字符反過來了

后記:不知道是不是Python'蓄意'跟我搞了個烏龍(汗死了~~囧!!!):

>>> def reverse(str):          #這個函數(shù)比上面那個精簡了一些
>>> ... lstr = list(str)          #解包--把字符串分解成子字符組成的列表
>>> ... lstr.reverse()           #使用列表的reverse()方法對列表內(nèi)的元素倒序排列
>>> ... rstr = ''.join(lstr)      #打包--把列表內(nèi)的子字符重新連接起來
>>> ... return rstr               #返回連接后的結果
>>> string = 'ABCDE'
>>> print reverse(string)
EDCBA   
讓我更囧的東西還在下面....Python這小子竟然再次耍我:

>>> def reverse(str):          #比上面的都精簡.看到這里我就無語了~~
>>> ... return str[::-1]          #直接返回通過索引倒序排序的結果
>>> ...
>>> string = 'ABCDE'
>>> print reverse(string)
EDCBA

2.字符串的查找與替換--可以用兩個函數(shù)實現(xiàn):find()、rfind(),這兩個函數(shù)的不同之處只是查找的順序不同
①find(substring[,start[,end]])--在字符串中查找子字符substring,后面的兩個可選參數(shù)是進行切片查找
如果在字符串中找到substring則返回索引(如果字符串中有多個結果則返回第一次出現(xiàn)的索引),沒找到返回-1


>>> string = 'I am Fishhat'
>>> print string.find('F')          #記住.在查找的時候是區(qū)分大小寫的
5
>>> print string.find('f')            #試試看小寫
-1                                           #找不到,所以是區(qū)分大小寫的
>>> print string.find('h',2,5)
-1                                          #索引2至5之間沒找到'h'
>>> print string.find('h',5,-1)   # 索引5到字符串的最后一個索引
8                                            #找到了,在第8個索引

②rfind(substring[,start[,end]])--跟上面的沒什么兩樣,只是在查找子字符串的時候是從字符串的尾部開始找的,下 面例子很好:


>>> string = 'I am Fishhat'
>>> print string.find('h')       #先看看find()方法的結果
8                                         #找到了,在第八個索引
>>> print string.rfind('h')      #然后試試rfind()方法看看跟上面有什么不一樣的
9                                            #注意到了沒?'I am Fishhat'中是不是有兩個'h'呢?
#因為find()從左至右(順序)開始查找的,找到的第一個'h'是在第8個索引,索引find()就返回咯
#而rfind()不一樣,它是從右至左(倒序)進行查找的,找到的第一個'h'是在第9個索引.那就返回倒序查找先發(fā)現(xiàn)的咯,當然是9了

 

1.替換字符串--replace(old,new[,max]):替換字符串中找到的old為new,如果字符串中找到了多個old字串,則可使 用max指定替換多少個old(默認是替換所有),再有的就是.如果在字符串沒有找到old字串.則返回原字符串

>>> str = 'AAAAABBBBBDDDDD'
>>> str.replace('D','C')       #把字符串中所有的D替換為C
'AAAAABBBBBCCCCC'
>>> str.replace('A','a',3)     #替換字符串中的3個A為a
'aaaAABBBBCCCCC'               #replace()函數(shù)的操作不會影響原字符串.只是拷貝原字符串然后進行操作而已

2.字符串與時間格式的轉(zhuǎn)換

首先看看格式化日期的時候常用到的標記
%a 英文星期的簡寫
%A 英文星期的完整拼寫
%b 英文月份的簡寫
%B 英文月份的完整拼寫
%c 本地當前的日期與時間
%d 日期數(shù),1-31之間
%H 小時數(shù),00-23之間
%I 小時數(shù),01-12之間
%m 月份,01-12之間
%M 分鐘數(shù),01-59之間
%j 本年從第1天開始計數(shù)到當天的天數(shù)
%w 星期數(shù),0-6之間(0是周日)
%W 當天屬于本年的第幾周,周一作為一周的第一天進行計算
%x 本地的當天日期
%X 本地的當前時間
%y 年份,0-99之間
%Y 年份的完整拼寫

①時間轉(zhuǎn)為字符串--strftime(format[,tuple]),其中format為轉(zhuǎn)換格式類型tuple為一個時間元組

>>> import time          #由于獲取時間和使用轉(zhuǎn)換函數(shù)需用到time模塊.所以必須導入
>>> str = time.strftime('%Y-%m-%d %X',time.localtime()) #time,localtime()返回以本地時間的所有參數(shù)為元素的元組
>>> print str
2009-12-09 21:36:35

②字符串轉(zhuǎn)為時間--需要用到time模塊strptime()函數(shù)和datetime模塊datetime()函數(shù)
strptime(string,format)--把字符串string以format的格式返回一個時間的元組(元組內(nèi)有齊全的時間元素,但是如果字 符串中只有幾個有用的時間信息,其他的元素默認或取本地時間的一些信息)
>>> str = '2009/12/09'
>>> str = time.strptime(str,'%Y/%m/%d')   #注意后面的獲取字符串中的時間的格式.對應原字符串中年月日之間的間隔符號
>>> print str
time.struct_time(tm_year=2009, tm_mon=12, tm_mday=9, tm_hour=0, tm_min=0, tm_sec
=0, tm_wday=2, tm_yday=343, tm_isdst=-1)      #可以注意到元組中前三個元素都是剛才字符串中得到的值,后面的信息都沒沒獲取到
datetime(year,month,day[,hour[,minute[,second[,microsecend[,tzinfo]]]]]) 函數(shù)返回一個datetime類型的變量,這是一種特殊的變量,也就是說,時間型的
>>> str = datetime.datetime(2009,12,9)     #定義一個datetime變量,注意后面參數(shù)中的月或日,只能單寫也就是說,9月或9日不能寫成09月或09日,必須單寫
>>> print str
2009-12-09 00:00:00                        #但顯示卻會顯示完整的,比如其中的9日顯示為了09日,還有,默認時分秒為0
>>> type(str)
<type 'datetime.datetime'>                 #這里可以看到剛才定義的str為這種類型的變量

最后再把上面這兩個函數(shù)結合起來完整的完成字符串到時間的轉(zhuǎn)換:
>>> import time,datetime                       #首先導入兩個使用到的模塊
>>> string = '2009-12-09'
>>> string = time.strptime(string,'%Y-%m-%d') #首先把字符串使用strptime()返回一個時間元素構成的元組
>>> y, m, d = string[0:3]                      #把得到的時間元組前三個元素賦值給三個變量(也就是年月日)
>>> string = datetime.datetime(y, m, d)        #最后使用datetime把剛才得到的時間變量轉(zhuǎn)為正式的時間格式變量
   >>> print string
2009-12-09 00:00:00                            #至此,可以說完成了字符串到時間的轉(zhuǎn)換(注意是變量類型轉(zhuǎn)換的過程)
Python字符串各種操作處理的內(nèi)置方法詳細解釋如下: 

str='test Word tt'


生成字符串變量str='test Word tt'
 
字符串長度獲?。簂en(str)
例:print '%s length=%d' % (str,len(str))
 
字母處理
全部大寫:str.upper()
全部小寫:str.lower()
大小寫互換:str.swapcase()
首字母大寫,其余小寫:str.capitalize()
首字母大寫:str.title()
例:
print '%s lower=%s' % (str,str.lower())
print '%s upper=%s' % (str,str.upper())
print '%s swapcase=%s' % (str,str.swapcase())
print '%s capitalize=%s' % (str,str.capitalize())
print '%s title=%s' % (str,str.title())
 

格式化相關
獲取固定長度,右對齊,左邊不夠用空格補齊:str.ljust(width)
獲取固定長度,左對齊,右邊不夠用空格補齊:str.ljust(width)
獲取固定長度,中間對齊,兩邊不夠用空格補齊:str.ljust(width)
獲取固定長度,右對齊,左邊不足用0補齊
例:
print '%s ljust=%s' % (str,str.ljust(20))
print '%s rjust=%s' % (str,str.rjust(20))
print '%s center=%s' % (str,str.center(20))
print '%s zfill=%s' % (str,str.zfill(20))


字符串搜索相關
搜索指定字符串,沒有返回-1:str.find('t')
指定起始位置搜索:str.find('t',start)
指定起始及結束位置搜索:str.find('t',start,end)
從右邊開始查找:str.rfind('t')
搜索到多少個指定字符串:str.count('t')
上面所有方法都可用index代替,不同的是使用index查找不到會拋異常,而find返回-1
例:
print '%s find nono=%d' % (str,str.find('nono'))
print '%s find t=%d' % (str,str.find('t'))
print '%s find t from %d=%d' % (str,1,str.find('t',1))
print '%s find t from %d to %d=%d' % (str,1,2,str.find('t',1,2))
#print '%s index nono ' % (str,str.index('nono',1,2))
print '%s rfind t=%d' % (str,str.rfind('t'))
print '%s count t=%d' % (str,str.count('t'))


字符串替換相關
替換old為new:str.replace('old','new')
替換指定次數(shù)的old為new:str.replace('old','new',maxReplaceTimes)
例:
print '%s replace t to *=%s' % (str,str.replace('t', '*'))
print '%s replace t to *=%s' % (str,str.replace('t', '*',1))


字符串去空格及去指定字符
去兩邊空格:str.strip()
去左空格:str.lstrip()
去右空格:str.rstrip()
去兩邊字符串:str.strip('d'),相應的也有l(wèi)strip,rstrip
例:
str=' test Word '
print '%s strip=%s' % (str,str.strip())
str='test Word'
print '%s strip=%s' % (str,str.strip('d'))


按指定字符分割字符串為數(shù)組:str.split(' ')
默認按空格分隔
例:
str='a b c de'
print '%s strip=%s' % (str,str.split())
str='a-b-c-de'
print '%s strip=%s' % (str,str.split('-'))


字符串判斷相關
是否以start開頭:str.startswith('start')
是否以end結尾:str.endswith('end')
是否全為字母或數(shù)字:str.isalnum()
是否全字母:str.isalpha()
是否全數(shù)字:str.isdigit()
是否全小寫:str.islower()
是否全大寫:str.isupper()
例:
str='test Word'
print '%s startwith t=%s' % (str,str.startswith('t'))
print '%s endwith d=%s' % (str,str.endswith('d'))
print '%s isalnum=%s' % (str,str.isalnum())
str='testWord'
print '%s isalnum=%s' % (str,str.isalnum())
print '%s isalpha=%s' % (str,str.isalpha())
print '%s isupper=%s' % (str,str.isupper())
print '%s islower=%s' % (str,str.islower())
print '%s isdigit=%s' % (str,str.isdigit())
str='3423'
print '%s isdigit=%s' % (str,str.isdigit())

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
全方位解析 f-string
python常用函數(shù)總結
C# string 中的 @
PHP 字符串處理函數(shù)
Python基礎知識點總結
Python中字符串常用內(nèi)置函數(shù)總結
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服