例題引導:現有字符串「abcdefghi」,請使用切片分別提取出ceg和gec
python
解題關鍵:切片方法的應用。切片是字符串中很重要的一部分,其操做方法和元組、字典等都相似,你們必定要掌握。git
參考答案:api
words = "abcdefghi"
# 正向取
new_words1 = words[-7:-1:2]
# 反向取
new_words2 = words[-3:-8:-2]
print(new_words1)
print(new_words2)
學習引導:微信
查找字符串app
修改字符串ide
刪除字符串函數
判斷字符串學習
string字符串處理庫
字符串做爲一種常見的數據類型,在平常中咱們面臨各式各樣的字符串處理問題,那麼,這就要求咱們必須掌握一些經常使用的字符串處理函數。spa
下面咱們就字符串的基本需求:查找、修改、刪除、判斷這四方面對字符串處理庫進行簡單的介紹。.net
查找
經常使用於查找到函數有:find()、index()、count()
find()
檢測字符串是否包含特定字符,若是包含,則返回開始的索引;不然,返回-1。
str='Welcome to DataScience'
print(str.find('Da'))
#11
print(str.find('wc'))
#-1
index()
檢測字符串是否包含指定字符,若是包含,則返回開始的索引值;不然,提示錯誤。
print(str.index('come'))
#3
print(str.index('Date'))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-12-85801a960777> in <module>
----> 1 print(str.index('Date'))
ValueError: substring not found
count()
返回str1在string中指定索引範圍內[start, end)出現的次數。
print(str.count('e'))
#4
print(str.count('Da'))
#1
修改
常見的用於字符串修改函數有replace()、split()、join()、capitalize()、title()、upper() 、loewr()、ljust()、rjust()、center()
replace()
把字符串中的 old(舊字符串)替換成 new(新字符串),若是指定第三個參數max,則替換不超過 max 次。
該函數語法以下:
str.replace(old, new[,max])
參數說明:
old -- 將被替換的子字符串
new -- 新字符串,用於替換old子字符串
max -- 可選字符串, 替換不超過 max 次
str='Welcome to Data Science'
print(str.replace("Data", "data"))
#Welcome to data Science
print(str.replace("e", "E", 3))
#WElcomE to Data SciEnce
Split()
若是 maxsplit有指定值,則僅分割 maxsplit 個子字符串;
語法格式以下:
str.split('分界符', maxSplit)
參數說明:
maxSplit默認值爲-1,表示根據定界符分割全部能分割的
返回值爲列表
str='Welcome to Data Science'
print(str.split(' ')) #用空格做爲分節符
#['Welcome', 'to', 'Data', 'Science']
print(str.split('e',3))
#['W', 'lcom', ' to Data Sci', 'nce']
capitilize()
將字符串的首字母大寫,其他字母所有小寫
語法結構以下:
str.capitiliaze()
無參數
str='welcome to Data Science'
print(str.capitalize())
#Welcome to data science
join()
用於將序列中的元素以指定的字符鏈接生成一個新的字符串。
語法結構以下:
str.join(sequence)
sequence -- 要鏈接的元素序列。
seq='Welcome to Data Science'
str='-'
print(str.join(seq))
#W-e-l-c-o-m-e- -t-o- -D-a-t-a- -S-c-i-e-n-c-e
title()
將字符串中的全部單詞的首字母大寫,其他字母所有小寫;
值得注意的是,這裏單詞的區分是以任何標點符號區分的,即,標點符號的先後都是一個獨立的單詞,字符串最後一個標點除外哦。詳細看示例哈
語法結構以下:
str.title()
無參數
str='welcome to data science'
print(str.title())
#Welcome To Data Science
str='welcome,to data-science.' #加標點符號
print(str.title())
#Welcome,To Data-Science.
lower()
將字符串的全部字母轉換爲小寫;
語法格式以下:
str.lower()
無參數
str='WELCOME TO DATA SCIENCE'
print(str.lower())
#welcome to data science
upper()
將字符串的全部字母轉換爲大寫;
語法格式以下:str.upper()
無參數
str='welcome to data science'
print(str.upper())
#WELCOME TO DATA SCIENCE
ljust()
將字符串左對齊,並使用空格填充至指定長度len;
語法格式以下:
str.ljust(len)
str='Welcome to data science'
print('str的原長度爲%d'%(len(str)))
print('str處理後的長度爲%d'%(len(str.ljust(30))))
print(str.ljust(30))
'''
str的原長度爲23
str處理後的長度爲30
Welcome to data science
'''
rjust()
將字符串右對齊,並使用空格填充至指定長度len;
語法格式以下:
str.rjust(len)
str='Welcome to data science'
print('str的原長度爲%d'%(len(str)))
print('str處理後的長度爲%d'%(len(str.rjust(30))))
print(str.rjust(30))
#str的原長度爲23
#str處理後的長度爲30
# Welcome to data science
center()
將字符串居中,並使用空格填充至指定長度len;
語法格式以下:
str.center(len)
str='Welcome to Data Science'
print(str.center(30))
print('str的原長度爲%d'%(len(str)))
print('str處理後的長度爲%d'%(len(str.center(30))))
# Welcome to Data Science
#str的原長度爲23
#str處理後的長度爲30
刪除
經常使用的字符串刪除方法有:lstrip()、rstripe()、stripe()
lstrip()
去掉字符串左邊的空白字符;
語法格式以下:
str.lstrip()
str=' Welcome to Data Science'
print(str)
print(str.lstrip())
# Welcome to Data Science
#Welcome to Data Science
rstrip()
去掉字符串右邊的空白字符;
語法格式以下:
str.rstrip()
str='Welcome to Data Science '
print(str)
print(str.rstrip())
#Welcome to Data Science
#Welcome to Data Science
strip()
去掉字符串兩邊的空白字符;
語法格式以下:
str.strip()
str=' Welcome to Data Science '
print(str)
print(str.strip())
# Welcome to Data Science
#Welcome to Data Science
判斷
常見的用於判斷字符串的函數有:startwith()、endwith()、isalpha()、isdigit()、isalnum() 、isspace()
startswith()
檢查字符串str是否 以字符串str1開頭,如果,則返回True;不然,返回False;
語法結構以下:
str.startswith()
str='Welcome to Data Science'
print(str.startswith('W'))
print(str.startswith('w'))
#True
#False
endswith()
檢查字符串str是否 以字符串str1結尾,如果,則返回True;不然,返回False;
語法結構以下:
str.endswith()
str='Welcome to Data Science'
print(str.endswith('e'))
print(str.endswith('c'))
#True
#False
isalpha()
若是字符串str中只包含字母,則返回True;不然,返回False;
語法結構以下:
str.isalpha()
str='Welcome to Data Science'
print(str.isalpha()) #包含空格
#False
str_='asd'
print(str_.isalpha())
#True
isdigit()
若是字符串str中只包含數字,則返回True;不然,返回False;
語法結構以下:
str.isdigit()
str='Welcome to Data Science'
print(str.isdigit())
#False
str_='12345'
print(str_.isdigit())
#True
isalnum()
檢測字符串是否由字母和數字組成。
語法結構以下:
str.isalnum()
str='Welcome to Data Science'
print(str.isalnum())
#False
str_='123data'
print(str_.isalnum())
#True
isspace()
若是字符串str中只包含空格,則返回True;不然,返回False;
語法結構以下:
str.isspace()
str='Welcome to Data Science'
print(str.isspace())
#False
小做業:
1.現有字符串「abcdefghi」,請使用切片分別提取出ceg和gec
2.迴文數是指從左向右讀和從右向左讀都是同樣的數,輸入一個整數,判斷該整數是否爲迴文數。
3.控制檯輸入任意字符串,將其去掉重複的字符後,按照字符ASCII碼順序從小到大排序後輸出。例如:輸入asdopwwsa16yy7aq,輸出167adopqswy
4.將如下字符串按結果要求分割輸出
#原字符串:
'better9late9than9never'
#分割後輸出列表嵌套的字符串:
['better', 'late', 'than', 'never']
好文章,我 在看❤
本文分享自微信公衆號 - DataScience(DataScienceTeam)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。