python其餘知識目錄html
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
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():拆分字符串。經過指定分隔符對字符串進行切片,並返回分割後的字符串列表(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']
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循環字符串須要統計字符串長度,開
頭和結尾數字)
二、判斷字符是否爲數字,打印出數字來
三、初始化一個計數變量,多一個數字就自增一對個數進行統計。
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
#自我註解: 對字符串大小寫進行轉換,也能夠對字符串先切片再轉換大小寫,用+號拼接起來。
可指定字符轉換大小寫,當結合切片的時候
參考: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']