前言
很多面试题里都有关于字符串相关的算法,这里简单总结一下python的字符串遍历。
遍历方式
python的字符串遍历有三种方式:
1. 下标法
2. for in
3. iter内置函数
4. enumerate
其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标index出,要求判断index+1的字符这种。最典型的题目就是语法解析器,判断"(())"这种成对的括号的算法。
"for in"和iter适合对字符进行直接处理的一类题目,比如大小准换,字符串对比之类的。
总之,如果需要用到下标就使用下标法和enumerate,其中enumerate比下标法性能更优。
例子
假设字符串s="helloworld"
1. 使用下标法遍历for index in range(len(s)):
print s[index]
2.使用for in方式遍历for ch in s:
print ch
3. 使用iter内置函数遍历,内存开销相对小。for ch in iter(s):
print ch
4. 使用enumerate函数遍历for index,ch in enumerate(s):
print ch