Python入門 字串及切片總結

2021-10-04 09:18:10 字數 2808 閱讀 9808

在python中,肉眼可以識別,具有特殊含義的字元組成的串,我們稱之為字串。字串是 python 中最常用的資料型別。我們可以使用引號('或")來建立字串。建立字串很簡單,只要為變數分配乙個值即可。

|-- 由弱資料型別語言的特性決定的:

|-- 單引號

|-- 雙引號

|-- 三引號

|-- str

s = str(「字串」)

|-- capitalize() # 讓字串首字母大寫(規範化每段的第一句話)

|-- center(width,[fillchar]) # 設定字串安裝長度居中,fillchar預設是空格,可以自定義

|-- ljust # 左對齊,fillchar預設是空格,可以自定義

|-- rjust # 右對齊,fillchar預設是空格,可以自定義

|-- count() # 統計字元或者字串出現的次數

|-- endswith() # 判斷字串是否以***結尾

|-- startswith() # 判斷字串是否以***開頭

|-- index # 查詢字元或者字串在字串中第一次出現的位置,

如果字元或者字串不存在,則丟擲異常

|-- rindex # 查詢字元或者字串在字串中最後一次出現的位置

|-- find # 查詢字元或者字串在字串中第一次出現的位置,

如果字元或者字串不存在,則返回-1

|-- rfind # 查詢字元或者字串在字串中最後一次出現的位置

|-- encode(charset) # encode python3提供python用來將字串轉換為位元組的乙個方法

如果位元組想轉換為字串呢?

|-- decode(charset) # 將位元組轉換為字串

|-- format # 用來格式化字串的

|-- islower # 判斷是否都是小寫字母

|-- isupper # 判斷是否都是大寫字母

|-- istitle # 判斷字串是否是標題

|-- isspace

|-- isdigit # 判斷是不是數字

|-- isalnum # 判斷是否都由有效符號

|-- isalpha # 判斷是否都由字母組成

|-- title # 將字串轉換為標題格式

|-- lower # 將字串轉換為小寫字母

|-- upper # 將字串轉換為大寫字母

|-- join(iterable) # 按照特定的符號,將乙個可迭代物件拼接成字串

|-- split(「符號」) # 按照特定的符號,將字串切割,返回乙個列表

|-- strip # 清除字串兩側的空格

|-- lstrip # 清除左側空格

|-- rstrip # 清除右側空格

|-- replace(「原字串」, 「新值」) # 替換對應的字串

利用python解決問題的過程中,經常會遇到從某個物件中抽取部分值的情況。「切片」操作正是專門用於實現這一目標的有力**。

() 方法的迭代器物件,該方法將逐一訪問容器中的元素。

所以說:python中,任意物件,只要定義了__next__方法,它就是乙個迭代器。因此,python中的容器如列表、元組、字典、集合、字串都可以被稱作迭代器。

迭代就是從迭代器中取元素的過程。

比如我們用for迴圈從列表[1,2,3]中取元素,這種遍歷過程就被稱作迭代。

|-- iterable[start:] # 從start位置開始切割,切到末尾

|-- iterable[start:end] # 從start位置開始切割,切到end位置為止,注意end並不包含 [)區間

|-- iterable[start?step] # 從start位置擷取,到end位置結束,step為步長,步長預設是1

注意:使用切片進行資料分割是時候,第三個引數是步長

|-- 如果步長為正,則從左到右切

|-- 如果步長為負,則從右向左切,但是下標還是從左而右數的

注意:同時python也提供負索引(從右向左數,注意:最後乙個元素是-1,倒數第二個是-2,以此類推)

(一)start_index、end_index、step三者可同為正、同為負,或正負混合。但必須遵循乙個原則,即:當start_index表示的實際位置在end_index的左邊時,從左往右取值,此時step必須是正數(同樣表示從左往右);當start_index表示的實際位置在end_index的右邊時,表示從右往左取值,此時step必須是負數(同樣表示從右往左),即兩者的取值順序必須相同。

(二)當start_index或end_index省略時,取值的起始索引和終止索引由step的正負來決定,這種情況不會有取值方向矛盾(即不會返回空列表),但正和負取到的結果順序是相反的,因為乙個向左乙個向右。

(三)step的正負是必須要考慮的,尤其是當step省略時。比如a[-1:],很容易就誤認為是從「終點」開始一直取到「起點」,即a[-1:]= [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],但實際上a[-1:]=[9](注意不是9),原因在於step省略時step=1表示從左往右取值,而起始索引start_index=-1本身就是物件的最右邊元素了,再往右已經沒資料了,因此結果只含有9乙個元素。

(四)需要注意:「取單個元素(不帶「:」)」時,返回的是物件的某個元素,其型別由元素本身的型別決定,而與母物件無關,如上面的a[0]=0、a[-4]=6,元素0和6都是「數值型」,而母物件a卻是「list」型;「取連續切片(帶「:」)」時,返回結果的型別與母物件相同,哪怕切取的連續切片只包含乙個元素,如上面的a[-1:]=[9],返回的是乙個只包含元素「9」的list,而非數值型「9」。

python 字串物件及切片

什麼是字串 肉眼可以識別具有特殊含義的字元組成的串 python如何表示字串 1 弱資料型別語言決定的,使用引號 單引號 雙引號 三引號 2 使用str s1 a s2 b s str abc 3.字串的常用方法 python提供用來切割可迭代物件 容器 字串 iterable start 從sta...

python字串切片

遇到問題 這個問題大家也可以思考下,看看自己對字串切片的理解 想要找乙個字串的字首,比如10010 輸出應該是 1,10,100,1001,10010 但結果老是多了個空 1,10,100,1001,10010 程式大概是這樣的 for i in range numbers new numbers ...

Python字串切片

1.字串切片 從字串中取出相應的元素,重新組成乙個新的字串 語法 字串 開始元素下標 結束元素下標 步長 字串的每個元素都有正負兩種下標 步長 切片間隔以及切片方向,預設值是1 實際意義為從開始取乙個資料,跳過步長的長度,再取乙個資料,一直到結束索引 步長為正值 開始索引預設為0,結束索引預設為最後...