python中 字串的下標與切片

2021-09-10 19:59:18 字數 4385 閱讀 6138

1.字串中"下標"的使用

列表與元組支援下標索引好理解,字串實際上就是字元的陣列,所以也支援下標索引。

如果有字串:

name = 'abcdef'

,在記憶體中的實際儲存如下:

如果想取出部分字元,那麼可以通過

下標的方法,(注意python中下標從 0 開始)

name = 'abcdef'

print(name[0])

print(name[1])

print(name[2])

2.切片

切片是指對操作的物件擷取其中一部分的操作。

字串、列表、元組

都支援切片操作。

切片的語法:[起始:結束:步長]:

注意:選取的區間屬於左閉右開型,即從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身)。

name = 'abcdef'

print(name[0:3]) # 取 下標0~2 的字元

name = 'abcdef'

print(name[2:]) # 取 下標為2開始到最後的字元

name = 'abcdef'

print(name[1:-1]) # 取 下標為1開始 到 最後第2個 之間的字元

3.字串常用操作

find

檢測 str 是否包含在 mystr的0-len 位中   返回0 表示包含,1 表示不包含

mystr.find(str, start=0, end=len(mystr))
index判斷str 在mystr 在陣列中的位置

print(mystr.index(str, 0, len(mystr)))
結果:0

count

返回 str在start和end之間 在 mystr裡面出現的次數

mystr = 'abcd'

str = 'ab'

print(mystr.count(str, 0, len(mystr)))

結果:1

replace

把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.

mystr = 'abcd'

str1 = 'ab'

str2 = 'e'

print(mystr.replace(str1, str2, mystr.count(str1)))

結果:ecd

split

以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 2次,後面的不再分隔

mystr = 'a b c d'

print(mystr.split(" ", 2))

結果:['a', 'b', 'c d']

capitalize

把字串的第乙個字元大寫

mystr = 'a b c d'

mystr.capitalize()

結果:ab c d

title

把字串的每個單詞首字母大寫

mystr = 'ab c d'

print(mystr.title())

結果:ab c d

startswith

檢查字串是否是以 obj 開頭, 是則返回 true,否則返回 false

mystr.startswith(obj)
endswith檢查字串是否以obj結束,如果是返回true,否則返回 false.

mystr.endswith(obj)
lower轉換 mystr 中所有大寫字元為小寫

mystr.lower()
upper轉換 mystr 中的小寫字母為大寫

mystr.upper()
ljust返回乙個原字串左對齊,並使用空格填充至長度 width 的新字串

mystr.ljust(width)
rjust返回乙個原字串右對齊,並使用空格填充至長度 width 的新字串

mystr.rjust(width)
center返回乙個原字串居中,並使用空格填充至長度 width 的新字串

mystr.center(width)
lstrip刪除 mystr 左邊的空白字元

mystr.lstrip()
rstrip刪除 mystr 字串末尾的空白字元

mystr.rstrip()
strip刪除mystr字串兩端的空白字元rfind類似於 find()函式,不過是從右邊開始查詢.

mystr.rfind(str, start=0,end=len(mystr) )
rindex類似於 index(),不過是從右邊開始.

mystr = 'abcd'

print(mystr.rindex('c', 0, len(mystr)))

結果:2

partition

把mystr以str分割成三部分,str前,str和str後

mystr = 'i love you'

str = 'love'

print(mystr.partition(str))

結果:('i ', 'love', ' you')

rpartition

類似於 partition()函式,不過是從右邊開始.

mystr.rpartition(str)
splitlines按照行分隔,返回乙個包含各行作為元素的列表

mystr = 'i love baby\nditto'

print(mystr.splitlines())

結果:['i love baby', 'ditto']

如果 mystr 所有字元都是字母 則返回 true,否則返回 false

如果 mystr 只包含數字則返回 true 否則返回 false.

mystr.isdigit()
如果 mystr 所有字元都是字母或數字則返回 true,否則返回 false

mystr.isalnum()
如果 mystr 中只包含空格,則返回 true,否則返回 false.

mystr.isspace()
mystr 中每個字元後面插入str,構造出乙個新的字串

Python中字串常用操作和字串的切片

a abcdefg print a 1 3 切片冒號表示,冒號前面表示從第幾個座標開始,包含開始那個,後面表示從哪個座標結束 不包含結束座標 print a 1 後坐標不寫表示取到所有 print a 1 1 負數表示從後面第乙個座標開始字串在python中記憶體儲存乙個字母就代表乙個位元組 數字2...

python字元切片 python 字串切片

字串s1 hello,world 字串中字元位置可以通過索引或者下標來表示 字串的索引或下標有兩種方式 a,正數,從左到右,從0開始 b,負數,從右到左,從 1開始 一 如何獲取字串中的某乙個字元 c1 s1 8 c2 s1 3 print c1,c2 都列印出字元 r 二 如何獲取一段字元 c3 ...

python字串下標越界 Python 字串

str1 abcdef 字串 str型 int1 1 整數 int型 float1 1.3 浮點數,float型 str2 abcdef 單引號和雙引號都可以表示字串 print str1,str2 在某一行按下ctrl 就可以進行注釋,注釋就是程式不執行該行 注釋是給人看的,而不是給程式看的 pr...