当前位置: 代码网 > it编程>前端脚本>Python > 一文详细说说Python中常用的字符串和数组方法(面试官常问)

一文详细说说Python中常用的字符串和数组方法(面试官常问)

2026年03月31日 Python 我要评论
一、字符串 str 常用方法分类方法作用示例大小写.upper()全部转大写"abc".upper() → "abc".lower()全部转小写&qu

一、字符串 str 常用方法

分类方法作用示例
大小写.upper()全部转大写"abc".upper() → "abc"
.lower()全部转小写"abc".lower() → "abc"
.title()单词首字母大写"hi py".title() → "hi py"
判断类.isdigit()判断是否全为数字"123".isdigit() → true
.isalpha()判断是否全为字母"abc".isalpha() → true
.startswith(x)是否以x开头"py".startswith("p") → true
.endswith(x)是否以x结尾"txt".endswith("t") → true
查找.find(x)找下标(找不到返回-1)"abc".find("b") → 1
.index(x)找下标(找不到报错)"abc".index("a") → 0
.count(x)统计x出现次数"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"

二、列表 / 数组 list 常用方法

分类方法作用示例
.append(x)末尾加1个元素[1,2].append(3) → [1,2,3]
.insert(下标,x)指定位置插入[1,3].insert(1,2) → [1,2,3]
.extend(列表)合并另一个列表[1].extend([2,3]) → [1,2,3]
.pop(下标)按下标删,返回元素[1,2].pop(0) → 1
.remove(x)按值删第一个匹配项[1,2,1].remove(1) → [2,1]
.clear()清空所有元素[1,2].clear() → []
.index(x)返回元素下标[1,2].index(2) → 1
.count(x)统计元素个数[1,1,2].count(1) → 2
排序反转.sort()原地升序排序[3,1,2].sort() → [1,2,3]
.reverse()原地反转列表[1,2].reverse() → [2,1]
其他切片 [start:end]截取子数组[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]通过下标取值
+拼接:"a"+"b" / [1]+[2]

四、关键区别(必记)

字符串不可改:不能 s[0]='x';列表可改lst[0]=9 没问题

字符串方法都返回新字符串,原内容不变;列表多数方法是原地修改,无返回值

字符串

upper() 全部转大写

s = "hello python"
res = s.upper()
print(res)  # 输出:hello python

lower() 全部转小写

s = "hello python"
res = s.lower()
print(res)  # 输出:hello python

title() 单词首字母大写

s = "hello python"
res = s.title()
print(res)  # 输出:hello python

isdigit() 判断是否全为纯数字

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() 判断是否以指定内容开头

s = "python.txt"
print(s.startswith("py"))   # true
print(s.startswith("txt"))  # false

endswith() 判断是否以指定内容结尾

s = "python.txt"
print(s.endswith(".txt"))  # true
print(s.endswith(".jpg"))  # false

find() 查找下标(找不到返回-1)

s = "abcdef"
print(s.find("c"))   # 2
print(s.find("z"))   # -1

index() 查找下标(找不到直接报错)

s = "abcdef"
print(s.index("d"))  # 3
# print(s.index("z"))  # 报错

count() 统计字符出现次数

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() 替换指定内容

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. 基础切片 [start:end]
print("1. 基础切片[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. 复制整个字符串 [:]
print("4. 完整复制字符串:", s[:])     # abcdefg

# 5. 指定步长截取 [start:end:step]
print("5. 步长为1全取:", s[0:7:1]) # abcdefg
print("5. 步长为2隔位取:", s[::2])   # aceg

# 6. 负数索引(从右计数)
print("6. 最后1个字符:", s[-1])    # g
print("6. 倒数第3到倒数第1:", s[-3:-1]) # ef

# 7. 负步长:反转字符串
print("7. 整体反转字符串:", s[::-1])  # gfedcba

# 8. 倒序区间截取
print("8. 倒序区间截取[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() 指定下标插入元素

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() 按下标删除,返回被删元素

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() 返回元素首次出现下标

lst = [2,5,8]
print(lst.index(5))  # 1

count() 统计元素出现次数

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() 原地反转列表

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 判断包含关系

print("py" in "python")  # true
print(2 in [1,2,3])      # true

3. + 拼接

print("a"+"b")    # ab
print([1]+[2,3])  # [1, 2, 3]

重点记忆

字符串不可变:所有方法返回新字符串,原字符串不变;

列表可变:增删改排序大多是原地修改,不返回新列表。

到此这篇关于一文详细说说python中常用的字符串和数组方法(面试官常问)的文章就介绍到这了,更多相关python常用字符串和数组方法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com