python基礎知識-03-字符串

 

python其餘知識目錄html

 

一、for循環遍歷字符串中單個字符

s_str="mcw"
for i in s_str:
print(i)
-----------結果:
m
c
w

二、#計算字符串長度

s_str="mcw"
mcw_len=len(s_str)
print(mcw_len)
------------結果:
3

三、#字符串索引

m_str="mcw"
print(m_str[0],m_str[2],m_str[1])
-----------結果:
m w c

四、#讓用戶輸入任意字符串,獲取字符串以後並計算其中有多少個數字isdigit()

text=input("請輸入內容:")
index_len=len(text)
index=0
while True:
val=text[index]
print(val)
if index==index_len -1:
break
index+=1

text=input("請輸入內容:")
index_len=len(text) #輸入字符串的長度,
index=0 #字符串的下角標,下角標爲[0,index_len-1]
count=0 #對數字個數進行計數
while True:
val=text[index]
if val.isdigit():
print(val)
count+=1
if index==index_len -1:
break
index+=1
print("數字總共有%s個"%(count))
-----------------結果:
請輸入內容:mcwff9023ff
9
0
2
3
數字總共有4個

實現步驟思路:python

一、用的是while對輸入字符串進行循環打印(while循環字符串須要統計字符串長度,開
頭和結尾數字)
二、判斷字符是否爲數字,打印出數字來
三、初始化一個計數變量,多一個數字就自增一對個數進行統計。git

五、#索引取值,從前向後,從後向前取。


六、#切片和索引

-----------------
         01234 
mcw_str
="mcwhr" ------------------ print(mcw_str[0],mcw_str[2],mcw_str[4]) m w r ------------------- print(mcw_str[-1],mcw_str[-2],mcw_str[-3],mcw_str[-4],mcw_str[-5]) r h w c m ------------------ print(mcw_str[2:4],mcw_str[3:-1],mcw_str[2:],mcw_str[:-1],mcw_str[:3]) wh h whr mcwh mcw
自我註解:
[2:4]取下標2,3,不包含4;[3:-1],取指定下標3到最後一個,-1爲倒數第一個,不包含最後一個;[2:],從指定下標到最後一個,包含最後一個;[:-1],取下標從0到
最後一個,不包含最後一個;[:3],從開頭到下標2作操做,不包含下標3
--------------------
[::]取全部 [::-1]倒着取,步長爲1

取最後兩個字符[-2:],或者[字符總長度-2,字符總長度],len().app

mcw_str="mcwhr"
print(mcw_str[-2:])
hr

mcw_str="mcwhr"
total_len=len(mcw_str)
v=mcw_str[total_len-2:total_len]
print(v)
hr

錯誤:IndexError: string index out of range函數

緣由:索引超出範圍了。post

mcw="sfsf"
print(mcw[7])

七、#字符串操做split,#有時間添加awk的切割作對比


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

一、split()函數
語法:str.split(str="",num=string.count(str))[n].net

參數說明:
str:表示爲分隔符,默認爲空格,可是不能爲空('')。若字符串中沒有分隔符,則把整個字符串做爲列
表的一個元素
num:表示分割次數。若是存在參數num,則僅分隔成 num+1 個子字符串,而且每個子字符串能夠賦給
新的變量
[n]:表示選取第n個分片code

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


string = "www.mcw.com.cn"

1.以'.'爲分隔符              #指定分隔符切割

print(string.split('.'))

['www', 'mcw', 'com', 'cn']

 

2.分割兩次         #指定分隔符,指定切割次數

print(string.split('.',2))

['www', 'mcw', 'com.cn']

 

3.分割兩次,並取序列爲1的項     #指定分隔符,指定次數切割並取指定下標的元素。

print(string.split('.',2)[1])

mcw

 

4.分割兩次,並把分割後的三個部分賦值給三個變量。    #指定分隔符,指定次數分割。分割結果賦值給(次數+1)個變量(疑問,賦值變量個數能夠少點嗎?)

u1, u2, u3 =string.split('.',2)

print(u1)—— www

print(u2)—— mcw

print(u3) ——com.cn

-----------------------------

五、一個複雜的切割案例:
mcwstr="hello mcw<[www.baidu.com]>byebye"

 

1)print(mcwstr.split("[")[1])
www.baidu.com]>byebye

    2)print(mcwstr.split("[")[1].split("]")[0])

         www.baidu.com

    3)print(mcwstr.split("[")[1].split("]")[0].split("."))
   ['www', 'baidu', 'com']
參考文章:https://www.cnblogs.com/liujiacai/p/7839971.html
https://blog.csdn.net/ll18810775652/article/details/78575066

六、split默認以空格爲分隔符

name="xiao ma guo he"
print(name.split())
--------結果:
['xiao', 'ma', 'guo', 'he']

八、#字符串操做isdigit使用

mcw1="a"
mcw2="2"
mcw3="8b"
n1=mcw1.isdigit()
n2=mcw2.isdigit()
n3=mcw3.isdigit()
print(n1,n2,n3)
---------------結果: #False True False
#自我註解:只要是數字返回值就是True.由此斷定字符是否爲數字。

#讓用戶輸入任意字符串,獲取字符串以後病計算其中有多少個數字

text=input("請輸入內容:")
index_len=len(text) #輸入字符串的長度,
index=0 #字符串的下角標,下角標爲[0,index_len-1]
count=0 #對數字個數進行計數
while True:
val=text[index]
if val.isdigit():
print(val)
count+=1
if index==index_len -1:
break
index+=1
print("數字總共有%s個"%(count))
------------------結果:
請輸入內容:mcwff9023ff
9
0
2
3
數字總共有4個

實現步驟思路:

一、用的是while對輸入字符串進行循環打印(while循環字符串須要統計字符串長度,開 
頭和結尾數字)
二、判斷字符是否爲數字,打印出數字來
三、初始化一個計數變量,多一個數字就自增一對個數進行統計。

九、#字符串操做upper和lower

mcw1="MCcI"
mcw2="mKlsM"
print(mcw1.lower(),mcw2.upper())
-----------------結果:
mcci MKLSM


mcw="mCwfeIhAo xIao"
mcwmodify=mcw[0:1].upper()+mcw[1:len(mcw)].lower()
mm=mcw[:-3].lower()+mcw[-3:].upper()
print(mcwmodify)
print(mm)
----------------結果:

Mcwfeihao xiao
mcwfeihao xIAO

#自我註解: 對字符串大小寫進行轉換,也能夠對字符串先切片再轉換大小寫,用+號拼接起來。

      可指定字符轉換大小寫,當結合切片的時候

十、#字符串操做strip(),lstrip(),rstrip()

參考:https://www.cnblogs.com/huangbiquan/p/7923008.html

Python中有三個去除頭尾字符、空白符的函數,它們依次爲:

strip: 用來去除頭尾字符、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)
lstrip:用來去除開頭字符、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)
rstrip:用來去除結尾字符、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)
注意:這些函數都只會刪除頭和尾的字符,中間的不會刪除。

用法分別爲:
string.strip([chars])
string.lstrip([chars])
string.rstrip([chars])

參數chars是可選的,當chars爲空,默認刪除string頭尾的空白符(包括\n、\r、\t、' ')
當chars不爲空時,函數會被chars解成一個個的字符,而後將這些字符去掉。

它返回的是去除頭尾字符(或空白符)的string副本,string自己不會發生改變。

舉例說明以下:
1. 當chars爲空時,默認刪除空白符(包括'\n', '\r', '\t', ' ')

m_str=" xiao ma "
print("---|"+m_str+"|---") #原字符串打印
print("---|"+m_str.strip()+"|----") #刪除頭尾空格
print("---|"+m_str.lstrip()+"|---") #刪除開頭空格
print("---|"+m_str.rstrip()+"|---") #刪除結尾空格
顯示結果:
---| xiao ma |---
---|xiao ma|----
---|xiao ma |---
---| xiao ma|---


2.當chars不爲空時,函數會被chars解成一個個的字符,而後將這些字符去掉。

m_str="122xiao12ma2"
print(m_str) #原字符串打印
print(m_str.strip("12")) #刪除頭尾指定字符串
print(m_str.lstrip("12")) #刪除開頭指定字符串
print(m_str.rstrip("12")) #刪除結尾指定字符串

結果:
122xiao12ma2
xiao12ma
xiao12ma2
122xiao12ma


三、字符串也能夠變量代替
a = 'x'
b = 'xiaoma'
print(b.lstrip(a))

iaoma

四、
a="c:\acmacm"
b="c:\a\cmcw"
print(b.strip(a))

\cmcw #去除變量b中與變量a開頭相同的部分。

 五、#去製表符,換行符

v1="mcw\nxiaoma"
v2="mcw \t xiaoma"
print(v1)
print("------------------------")
print(v2)
print("---------------------------")
v3="mcw\n"                                   #去製表符,換行符
v4="xiaoma\t"
print(v3.strip(),v4.strip())    

 六、默認同時去掉製表符,換行符,空格這些

ss="  \t   mcw\n   "
li=[]
li.append(ss)
li.append(ss.strip())
print(li)
------------------結果:
['  \t   mcw\n   ', 'mcw']
相關文章
相關標籤/搜索