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

 更新时间:2026年03月31日 09:38:17   作者:喜欢吃辣椒炒肉拌面  
这篇文章主要为大家详细介绍了Python中常用的字符串和数组方法,这也是面试中常常被问起的问题,下面小编就和大家详细介绍一下吧,有需要的可以了解下

一、字符串 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常用字符串和数组方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Python开发简单的图片定位导出小程序

    基于Python开发简单的图片定位导出小程序

    在日常工作中,我们经常需要从大量图片文件中筛选出包含特定名称或编号的图片,所以本文将使用Python开发一个图片定位导出小程序,感兴趣的小伙伴可以了解下
    2025-09-09
  • python登录豆瓣并发帖的方法

    python登录豆瓣并发帖的方法

    这篇文章主要介绍了python登录豆瓣并发帖的方法,涉及URL模拟登陆及cookie的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python3使用QT编写基础的对话框程序的详细流程

    Python3使用QT编写基础的对话框程序的详细流程

    Qt框架凭借其跨平台能力和丰富的控件库,在桌面应用开发领域占据重要地位,当Python的简洁语法遇上Qt的成熟生态,便诞生了PyQt/PySide这两个黄金搭档,本文给大家介绍了Python3如何使用QT编写基础的对话框程序,需要的朋友可以参考下
    2025-06-06
  • Python实现隐马尔可夫模型的前向后向算法的示例代码

    Python实现隐马尔可夫模型的前向后向算法的示例代码

    这篇文章主要介绍了Python实现隐马尔可夫模型的前向后向算法,本文通过实例代码给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Python上下文管理器Content Manager

    Python上下文管理器Content Manager

    在Python中,我们会经常听到上下文管理器,那么上下文管理器到底是干什么的,本文就来介绍一下,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • pyqt4教程之实现半透明的天气预报界面示例

    pyqt4教程之实现半透明的天气预报界面示例

    这篇文章主要介绍了pyqt4实现半透明的天气预报界面示例,需要的朋友可以参考下
    2014-03-03
  • Python在线运行代码助手

    Python在线运行代码助手

    Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码
    2016-07-07
  • 使用Python将PDF表格自动提取并写入Word文档表格

    使用Python将PDF表格自动提取并写入Word文档表格

    在实际办公与数据处理场景中,PDF 文件里的表格往往无法直接复制到 Word 中,本文将介绍如何使用 Python 从 PDF 文件中提取表格数据,并将其以标准、结构化的表格形式写入 Word 文档,需要的朋友可以参考下
    2025-12-12
  • python实现文本界面网络聊天室

    python实现文本界面网络聊天室

    这篇文章主要为大家详细介绍了python实现文本界面网络聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Python实现一元一次与一元二次方程求解

    Python实现一元一次与一元二次方程求解

    这篇文章主要为大家详细介绍了如何利用Python实现一元一次与一元二次方程的求解,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06

最新评论