1. 字符串简介
字符串(String):由零个或多个字符组成的有限序列。
例子:s='hello world''
字符串通常是不可变的,可以通过创建新的字符串来进行操作和修改。
2、常见的字符串操作:
①访问字符串中的字符:使用索引来访问字符串中的单个字符。索引从0开始,例如 s[0] 表示字符串中的第一个字符。
②字符串切片/子串:使用切片操作来获取子串。
使用冒号(:)来指定起始索引和结束索引,例如 s[1:4] 表示从索引1到索引3(不包括索引4)的子串。
③字符串拼接:加号(+),例如 s1 + s2。
④获取字符串长度: len() 函数,例如 len(s) 返回字符串 s 的字符数。
⑤字符串查找:可以使用 in 关键字来检查一个字符串是否包含另一个子串,例如 "abc" in s 判断字符串 s 是否包含子串 "abc"。
⑥字符串替换:可以使用 replace() 方法来替换字符串中的特定子串,例如 s.replace("old", "new") 将字符串 s 中的所有 "old" 替换为 "new"。
3、字符串的比较
字符串之间的比较是通过组成字符串的字符之间的「字符编码」来决定的。例如"abc" < "acd"
4、leedcode刷题
125. 验证回文串
题目内容:如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。 |
解题思路:
①首先需要解决:移除非字母数字字符串
Python 提供了内置函数 isalpha() 可以用来判断一个字符是否为字母。
Python 提供了内置函数 lower() 可以将大写字母转换为小写。
②遍历比较正反是否相同
class Solution: def isPalindrome(self, s: str) -> bool: letteronly=''.join(char for char in s if char.isalpha()) letteronly_1=letteronly.lower() for i in range(len(letteronly_1)): if letteronly_1[i]!=letteronly_1[len(letteronly_1)-i-1]: return False else: continue return True |
错了,原因是 isalpha() 只保留字母,应该改用isalnum()保留字母和数字
class Solution: def isPalindrome(self, s: str) -> bool: letteronly=''.join(char for char in s if char.isalnum()) letteronly_1=letteronly.lower() for i in range(len(letteronly_1)): if letteronly_1[i]!=letteronly_1[len(letteronly_1)-i-1]: return False else: continue return True |
通过!
5、参考资料