Python:字符串的常用操作

字符串(str)作为不可变序列,支持索引、切片、拼接、比较、成员运算等多种操作。这些基础操作是文本处理的核心。

一、索引与切片

通过下标 [] 和切片 [:] 访问子串,支持正向、反向索引和步长。

s = "python"print(s[0])    # p,第一个字符print(s[-1])   # n,最后一个字符print(s[1:4])  # yth,切片(左闭右开)print(s[::-1]) # nohtyp,反转

二、拼接与重复

使用 + 拼接字符串,使用 * 重复字符串。

a, b = "Hello", "World"print(a + " " + b)  # Hello Worldprint("Hi! " * 3)   # Hi! Hi! Hi!

三、比较运算

字符串比较基于 Unicode 编码顺序,可使用 ==、!=、<、> 等关系运算符进行比较。

print("apple" == "apple")  # Trueprint("apple" < "banana")  # Trueprint("Zoo" > "apple")     # False(因为 'Z' < 'a' 的编码值)

四、成员运算

使用 in、not in 判断子串是否存在。

s = "banana"print("na" in s)     # Trueprint("xy" not in s) # True

五、遍历字符串

字符串是可迭代对象,可用 for 循环逐字符访问。

for ch in "hi":    print(ch)# h# i

六 、查找与统计

使用字符串方法 find() 定位子串,count() 统计出现次数。

s = "banana"print(s.find("na"))   # 2print(s.count("na"))  # 2

七、使用内置函数和方法

1、内置函数

许多内置函数可直接用于字符串:

s = "banana"print(len(s))     # 6print(max(s))     # nprint(min(s))     # aprint(sorted(s))  # ['a', 'a', 'a', 'b', 'n', 'n']

2、str 类的方法

str 类提供了大量的方法来处理字符串,比如大小写转换、去除空白或指定字符以及拆分与拼接等。

# 大小写转换print("Hello".lower())  # helloprint("Hello".upper())  # HELLO
# 去除空白或指定字符print(" hello ".strip())      # "hello"print("xxhelloxx".strip("x")) # "hello"
# 拆分与拼接s = "a b c"print(s.split())                # ['a', 'b', 'c']print("-".join(["a", "b", "c"]))  # a-b-c

详情请参阅:

Python:字符串方法手册

⚠️ 常见操作误区

1、索引越界

s = "abc"# print(s[5])   # ❌ IndexError: string index out of range

2、不可变性误解

很多初学者尝试直接修改字符,其实字符串不可变,只能通过拼接、切片等生成新对象。

s = "python"# s[0] = "P"   ❌ TypeError: 'str' object does not support item assignments = "P" + s[1:]  # ✅ 生成新字符串print(s)  # Python

3、数字拼接错误

s = "age: " + 18   # ❌ TypeError: can only concatenate str (not "int") to str

正确写法:

s = "age: " + str(18)   # age: 18

4、大小写比较陷阱

"Zoo" < "apple" 的结果是 True,因为比较基于 Unicode 编码,不是自然语言规则。

需要无视大小写时,应该先统一 lower() 或 casefold()。

📘 小结

字符串是不可变的有序序列。

索引与切片:通过 [] 和 [:] 访问子串,支持正向、反向和步长

拼接与重复:用 + 拼接,用 * 重复生成

比较与成员运算:比较基于 Unicode 编码,in / not in 判断子串是否存在

遍历与统计:字符串可迭代,可结合 find()、count() 等方法快速检索

内置函数与方法:常用 len()、sorted() 以及 strip()、split()、join() 等方法

图片

“点赞有美意,赞赏是鼓励”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值