我們基本上都知道python的序列物件都是可以用索引號來引用的元素的,索引號可以是正數由0開始從左向右,也可以是負數由-1開始從右向左。
在python中對於具有序列結構的資料來說都可以使用切片操作,需注意的是序列物件某個索引位置返回的是乙個元素,而切片操作返回是和被切片物件相同型別物件的副本。
今天戀習python主要與大家一起談談python字串切片操作的那些事。
一、字串的切片
字串 '***'和 unicode字串 u'***'也可以看成是一種list,每個元素就是乙個字元。因此,字串也可以用切片操作,只是操作結果仍是字串。在很多程式語言中,針對字串提供了很多各種擷取函式,其實目的就是對字串切片。python沒有針對字串的擷取函式,只需要切片乙個操作就可以完成,非常簡單。
切片操作(slice)可以從乙個字串中獲取子字串(字串的一部分)。我們使用一對方括號、起始偏移量start、終止偏移量end 以及可選的步長step 來定義乙個分片。
格式:[start:end:step]
[:] 提取從開頭(預設位置0)到結尾(預設位置-1)的整個字串
[start:] 從start 提取到結尾
[:end] 從開頭提取到end - 1
[start:end] 從start 提取到end - 1
[start:end:step] 從start 提取到end - 1,每step 個字元提取乙個
左側第乙個字元的位置/偏移量為0,右側最後乙個字元的位置/偏移量為-1
二、實戰
任務:
字串有個方法 upper() 可以把字元變成大寫字母,但它會把所有字母都變成大寫。
而我們只想讓字串的首字母變大寫,因此可以通過使用字串的切片操作來實現,**如下:
習題:leetcode 28.實現strstr() by python
給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 (從0開始)。如果不存在,則返回 -1。
示例 1:
輸入:haystack = "hello", needle = "ll"輸出:2
示例 2:
輸入:haystack = "aaaaa", needle = "bba"輸出:-1
關鍵思維:需要從haystack 字串擷取乙個完整的 needle 字串,自然而然想到字串的切片方法
Python中字串切片操作
一 取字串中第幾個字元 print hello 0 表示輸出字串中第乙個字元 print hello 1 表示輸出字串中最後乙個字元 二 字串分割 print hello 1 3 第乙個引數表示原來字串中的下表 第二個闡述表示分割後剩下的字串的第乙個字元 在 原來字串中的下標 這句話說得有點囉嗦,直...
Python中字串切片操作
一 取字串中第幾個字元 print hello 0 表示輸出字串中第乙個字元 print hello 1 表示輸出字串中最後乙個字元 二 字串分割 print hello 1 3 第乙個引數表示原來字串中的下表 第二個闡述表示分割後剩下的字串的第乙個字元 在 原來字串中的下標 這句話說得有點囉嗦,直...
Python中字串切片操作
print hello 0 表示輸出字串中第乙個字元 print hello 1 表示輸出字串中最後乙個字元 二 字串分割 print hello 1 3 第乙個引數表示原來字串中的下表 第二個闡述表示分割後剩下的字串的第乙個字元 在 原來字串中的下標 這句話說得有點囉嗦,直接看輸出結果 el 三 ...