一文詳細(xì)說說Python中常用的字符串和數(shù)組方法(面試官常問)
一、字符串 str 常用方法
| 分類 | 方法 | 作用 | 示例 |
|---|---|---|---|
| 大小寫 | .upper() | 全部轉(zhuǎn)大寫 | "abc".upper() → "ABC" |
.lower() | 全部轉(zhuǎn)小寫 | "ABC".lower() → "abc" | |
.title() | 單詞首字母大寫 | "hi py".title() → "Hi Py" | |
| 判斷類 | .isdigit() | 判斷是否全為數(shù)字 | "123".isdigit() → True |
.isalpha() | 判斷是否全為字母 | "abc".isalpha() → True | |
.startswith(x) | 是否以x開頭 | "py".startswith("p") → True | |
.endswith(x) | 是否以x結(jié)尾 | "txt".endswith("t") → True | |
| 查找 | .find(x) | 找下標(biāo)(找不到返回-1) | "abc".find("b") → 1 |
.index(x) | 找下標(biāo)(找不到報錯) | "abc".index("a") → 0 | |
.count(x) | 統(tǒng)計x出現(xiàn)次數(shù) | "aab".count("a") → 2 | |
| 切割拼接 | .split(sep) | 按分隔符拆成列表 | "1,2".split(",") → ["1","2"] |
.join(列表) | 用自身拼接列表元素 | ",".join(["1","2"]) → "1,2" | |
| 替換清洗 | .replace(a,b) | 把a替換成b | "a1".replace("1","2") → "a2" |
.strip() | 去除首尾空格/換行 | " py ".strip() → "py" | |
| 截取 | 切片 [start:end:step] | 截取子串 | "abcd"[1:3] → "bc" |
二、列表 / 數(shù)組 list 常用方法
| 分類 | 方法 | 作用 | 示例 |
|---|---|---|---|
| 增 | .append(x) | 末尾加1個元素 | [1,2].append(3) → [1,2,3] |
.insert(下標(biāo),x) | 指定位置插入 | [1,3].insert(1,2) → [1,2,3] | |
.extend(列表) | 合并另一個列表 | [1].extend([2,3]) → [1,2,3] | |
| 刪 | .pop(下標(biāo)) | 按下標(biāo)刪,返回元素 | [1,2].pop(0) → 1 |
.remove(x) | 按值刪第一個匹配項 | [1,2,1].remove(1) → [2,1] | |
.clear() | 清空所有元素 | [1,2].clear() → [] | |
| 查 | .index(x) | 返回元素下標(biāo) | [1,2].index(2) → 1 |
.count(x) | 統(tǒng)計元素個數(shù) | [1,1,2].count(1) → 2 | |
| 排序反轉(zhuǎn) | .sort() | 原地升序排序 | [3,1,2].sort() → [1,2,3] |
.reverse() | 原地反轉(zhuǎn)列表 | [1,2].reverse() → [2,1] | |
| 其他 | 切片 [start:end] | 截取子數(shù)組 | [1,2,3][1:] → [2,3] |
三、通用共用操作(字符串+列表都能用)
| 操作 | 作用 |
|---|---|
len(obj) | 獲取長度:len("abc") / len([1,2]) |
x in obj | 判斷是否包含:"a" in "abc" / 1 in [1,2] |
obj[i] | 通過下標(biāo)取值 |
+ | 拼接:"a"+"b" / [1]+[2] |
四、關(guān)鍵區(qū)別(必記)
字符串不可改:不能 s[0]='x';列表可改:lst[0]=9 沒問題
字符串方法都返回新字符串,原內(nèi)容不變;列表多數(shù)方法是原地修改,無返回值
字符串
upper() 全部轉(zhuǎn)大寫
s = "hello python" res = s.upper() print(res) # 輸出:HELLO PYTHON
lower() 全部轉(zhuǎn)小寫
s = "HELLO PYTHON" res = s.lower() print(res) # 輸出:hello python
title() 單詞首字母大寫
s = "hello python" res = s.title() print(res) # 輸出:Hello Python
isdigit() 判斷是否全為純數(shù)字
s1 = "12345" s2 = "123a" print(s1.isdigit()) # True print(s2.isdigit()) # False
isalpha() 判斷是否全為純字母
s1 = "abc" s2 = "abc1" print(s1.isalpha()) # True print(s2.isalpha()) # False
startswith() 判斷是否以指定內(nèi)容開頭
s = "python.txt"
print(s.startswith("py")) # True
print(s.startswith("txt")) # False
endswith() 判斷是否以指定內(nèi)容結(jié)尾
s = "python.txt"
print(s.endswith(".txt")) # True
print(s.endswith(".jpg")) # False
find() 查找下標(biāo)(找不到返回-1)
s = "abcdef"
print(s.find("c")) # 2
print(s.find("z")) # -1
index() 查找下標(biāo)(找不到直接報錯)
s = "abcdef"
print(s.index("d")) # 3
# print(s.index("z")) # 報錯
count() 統(tǒng)計字符出現(xiàn)次數(shù)
s = "aabbaacc"
print(s.count("a")) # 4
print(s.count("b")) # 2
split() 按分隔符拆分字符串為列表
s = "1,2,3,4"
lst = s.split(",")
print(lst) # ['1', '2', '3', '4']
join() 用字符串拼接列表元素
lst = ["1","2","3"] s = "-".join(lst) print(s) # 1-2-3
replace() 替換指定內(nèi)容
s = "hello world"
res = s.replace("world","python")
print(res) # hello python
strip() 去除首尾空格/換行符
s = " python " res = s.strip() print(res) # python
字符串切片(通用取值)
# 定義測試字符串
s = "ABCDEFG"
# 正向索引:0 1 2 3 4 5 6
# 反向索引:-7 -6 -5 -4 -3 -2 -1
# 1. 基礎(chǔ)切片 [start:end]
print("1. 基礎(chǔ)切片[1:4]:", s[1:4]) # BCD
# 2. 從開頭截取到指定位置 [:end]
print("2. 開頭到索引3:", s[:3]) # ABC
print(s[:-1]) # 這個代表去掉最后一個字符,取前面所有字符。 也就是 # ABCDEF
# 3. 從指定位置截取到末尾 [start:]
print("3. 索引2到末尾:", s[2:]) # CDEFG
# 4. 復(fù)制整個字符串 [:]
print("4. 完整復(fù)制字符串:", s[:]) # ABCDEFG
# 5. 指定步長截取 [start:end:step]
print("5. 步長為1全取:", s[0:7:1]) # ABCDEFG
print("5. 步長為2隔位取:", s[::2]) # ACEG
# 6. 負(fù)數(shù)索引(從右計數(shù))
print("6. 最后1個字符:", s[-1]) # G
print("6. 倒數(shù)第3到倒數(shù)第1:", s[-3:-1]) # EF
# 7. 負(fù)步長:反轉(zhuǎn)字符串
print("7. 整體反轉(zhuǎn)字符串:", s[::-1]) # GFEDCBA
# 8. 倒序區(qū)間截取
print("8. 倒序區(qū)間截取[5:0:-1]:", s[5:0:-1]) # FEDCB
# 9. 跳過前N個字符
print("9. 跳過前3個字符:", s[3:]) # DEFG
# 10. 截取最后N個字符
print("10. 截取最后3個字符:", s[-3:]) # EFG
列表
append() 末尾追加單個元素
lst = [1,2,3] lst.append(4) print(lst) # [1, 2, 3, 4]
insert() 指定下標(biāo)插入元素
lst = [1,3,4] lst.insert(1,2) print(lst) # [1, 2, 3, 4]
extend() 合并另一個列表
lst1 = [1,2] lst2 = [3,4] lst1.extend(lst2) print(lst1) # [1, 2, 3, 4]
pop() 按下標(biāo)刪除,返回被刪元素
lst = [1,2,3] num = lst.pop(1) print(num) # 2 print(lst) # [1, 3]
remove() 按值刪除第一個匹配元素
lst = [1,2,1,3] lst.remove(1) print(lst) # [2, 1, 3]
clear() 清空整個列表
lst = [1,2,3] lst.clear() print(lst) # []
index() 返回元素首次出現(xiàn)下標(biāo)
lst = [2,5,8] print(lst.index(5)) # 1
count() 統(tǒng)計元素出現(xiàn)次數(shù)
lst = [1,1,2,2,2] print(lst.count(2)) # 3
sort() 原地升序排序
lst = [5,2,9,1] lst.sort() print(lst) # [1, 2, 5, 9]
reverse() 原地反轉(zhuǎn)列表
lst = [1,2,3,4] lst.reverse() print(lst) # [4, 3, 2, 1]
列表切片(通用取值)
lst = [10,20,30,40,50] print(lst[2:4]) # [30, 40] print(lst[::-1]) # [50, 40, 30, 20, 10]
字符串 & 列表 通用操作
1. len() 獲取長度
s = "python" lst = [1,2,3] print(len(s)) # 6 print(len(lst)) # 3
2. in 判斷包含關(guān)系
print("py" in "python") # True
print(2 in [1,2,3]) # True
3. + 拼接
print("a"+"b") # ab
print([1]+[2,3]) # [1, 2, 3]
重點記憶
字符串不可變:所有方法返回新字符串,原字符串不變;
列表可變:增刪改排序大多是原地修改,不返回新列表。
到此這篇關(guān)于一文詳細(xì)說說Python中常用的字符串和數(shù)組方法(面試官常問)的文章就介紹到這了,更多相關(guān)Python常用字符串和數(shù)組方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python list格式數(shù)據(jù)excel導(dǎo)出方法
今天小編就為大家分享一篇python list格式數(shù)據(jù)excel導(dǎo)出方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python基礎(chǔ)請求庫urllib模塊使用深入探究
在Python中,urllib庫是一個強大的模塊,用于處理URLs,它包含了多個子模塊,其中urllib.request是用于發(fā)出HTTP請求的核心組件,本文將深入探討urllib的基本使用、高級功能以及一些實際場景的示例,方便更全面地了解這個重要的網(wǎng)絡(luò)請求工具2024-01-01
Python給Excel寫入數(shù)據(jù)的四種方法小結(jié)
本文主要介紹了Python給Excel寫入數(shù)據(jù)的四種方法小結(jié),包含openpyxl庫、xlsxwriter庫、pandas庫和win32com庫,具有一定的參考價值,感興趣的可以了解一下2025-02-02
利用python為PostgreSQL的表自動添加分區(qū)
這篇文章主要介紹了利用python為PostgreSQL的表自動添加分區(qū),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
對python條件表達式的四種實現(xiàn)方法小結(jié)
今天小編就為大家分享一篇對python條件表達式的四種實現(xiàn)方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
解決python有時候import不了當(dāng)前的包問題
今天小編就為大家分享一篇解決python有時候import不了當(dāng)前的包問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python用Spire.XLS操作Excel圖表的高階教程
這篇文章主要為大家詳細(xì)介紹了Python使用Spire.XLS操作Excel圖表的高階教程,包括提取數(shù)據(jù)源,調(diào)整表大小,移動和刪除圖表等,感興趣的小伙伴可以了解下2025-08-08

