本文記錄了python中字符串常用的切片操作,該操作也適用于列表十饥、元組窟勃。同時記錄了字符串的常用操作。
'''
字符串 / 列表 / 元組 的切片操作逗堵,方式都一樣秉氧,本段以字符串為例子
基本語法:
obj.[start:end:step]
取值范圍為 [start - end),左閉右開,step為步長(默認大小為1,方向從左往右)(個人理解:步長 = 間隔 + 1)
'''
s = '0123456789'
print(s[3:7]) # 取出該索引區(qū)間(區(qū)間為:[3,7))的內(nèi)容 --> 3456
print(s[:]) # 取出s所有的內(nèi)容 --> 0123456789
print(s[2:]) # 從第2個索引處(index = 2)開始取出后面內(nèi)容 --> 23456789
print(s[:5]) # 從第0個索引處開始取出到該索引處(index = 5)的前一位的所有內(nèi)容 --> 01234
print(s[:-2]) # 從第0個索引處開始取出到倒數(shù)第2個索引處的前一位的所有內(nèi)容 --> 01234567
print(s[-4:-1]) # 從倒數(shù)第4個索引處開始取出到倒數(shù)第1個索引處的前一位的所有內(nèi)容 --> 678
print(s[1:8:2]) # 從第1個索引處(index = 1)開始,步長為2(每間隔1個字符取一位)砸捏,到第8個索引處(index = 8)前一位結(jié)束 --> 1357
print(s[::-1]) # 從后向前取谬运,步長為1,方向從右向左 (即可完成逆置字符串的功能) --> 9876543210
'''
常見的字符串操作,本例列舉27個,操作區(qū)間為左閉右開
'''
sts = 'Made in china'
print(sts.find('in')) # 在整個sts中查找是否存在'in',若存在,返回首字母下標垦藏,否則返回-1. --> 5
print(sts.find('in', 1, 7)) # 在該區(qū)間[1, 7)中查找'in'是否存在. --> 5
print(sts.find('in', 1, 6)) # 在[1, 6)中查找'in'是否存在. --> -1
print(sts.rfind('in')) # 功能同上梆暖,但從右向左查. --> 10
print(sts.index('in')) # 功能同上,但若沒查找到則報異常,一般使用不帶第二掂骏、三參數(shù). -->5
# print(sts.index('in', 1, 6)) # 在[1, 6)范圍內(nèi)查找. --> 會報錯轰驳,因為該范圍內(nèi)沒有'in'
print(sts.rindex('in')) # 功能同上,但從右往左查. --> 10
print(sts.count('in', 0, len(sts))) # 'in'在sts的該區(qū)間內(nèi)出現(xiàn)的次數(shù),一般可以不帶第二、三參數(shù). --> 2
print(sts.replace('e', 'f', 3)) # 將'e'替換成'f',但修改的'e'的數(shù)量不超過3次级解,從左往右修改冒黑,若無第三參數(shù)則默認都修改. --> Madf in china
print(sts.split('i', 2)) # 從左往右將'i'取消,第二個參數(shù)的數(shù)量,i兩邊的字符變成列表中的兩個元素勤哗,若i連續(xù)抡爹,則用''代替. --> ['Made ', 'n ch', 'na']
print(sts.capitalize()) # 將字符串開頭字母大寫,其他小寫. --> Made in china
print(sts.title()) # 所有單詞的首字母大寫芒划,其他的小寫. --> Made In China
print(sts.startswith('M')) # 檢查字符串是否以'M'開頭冬竟,是返回True,否則返回False. --> True
print(sts.endswith('a')) # 檢查字符串是否已'a'結(jié)尾,是返回True,否則返回False. --> True
print(sts.lower()) # 所有大寫字母轉(zhuǎn)為小寫. --> made in china
print(sts.upper()) # 小寫轉(zhuǎn)大寫. --> MADE IN CHINA
print(sts.ljust(len(sts) + 1)) # (左對齊)將sts右端添加1個空白符. --> 'Made in china '
print(sts.rjust((len(sts) + 1)) # (右對齊) 將sts左端添加一個空白符. --> ' Made in china'
print(sts.center((len(sts) + 2)) # (居中) 將sts兩端各添加一個空白符. --> ' Made in china '
print(sts.lstrip()) # 刪除字符串左側(cè)的空白符
print(sts.rstrip()) # 刪除右側(cè)空白符
print(sts.strip()) # 刪除兩端字符串
print(sts.partition('in')) # 將sts分割成三部分民逼,in前面的泵殴,in和in后面的,以元組返回. --> ('Made ', 'in', ' china')
print(sts.rpartition('in')) # 功能同上拼苍,只是從右向左分割. --> ('Made in ch', 'in', 'a')
print(sts.splitlines()) # 按照行分割成列表中不同的元素
print(sts.isalpha()) # 如果sts全部是字母笑诅,則返回True,否則False. --> False
print(sts.isdigit()) # 如果全是數(shù)字,則返回True,否則False. --> False
print(sts.isalnum()) # 如果只由字母或數(shù)字組成疮鲫,則返回True,否則False. --> False
print(sts.isspace()) # 如果只有空格吆你,則返回True,否則False. --> False
#將list中的每個元素之間插入整個sts,并將列表返回為一個字符串
list = ['b', 'e', 'i']
print(sts.join(list)) # --> bMade in chinaeMade in chinai. 若sts == ''棚点,則可實現(xiàn)list轉(zhuǎn)string
'''
順便提一下早处,本人目前沒有找到可直接操作字符串進行刪除某些字符的方法,
但可以通過將str轉(zhuǎn)為List之后刪除瘫析,再將List通過join()轉(zhuǎn)為str即可。有好方法的朋友請留言默责,感謝贬循!
'''
結(jié)束