python的字符串遍历有4种方式:
1. 下标法
2. for in 3. iter内置函数
4. enumerate
循环方式,for in
girl_str = "I love You"
for every_char in girl_str: print(every_char)
下标方式,内置函数range()或xrange(),把字符串长度传进去就行
girl_str = "I love You"
for index in range(len(girl_str)): print(girl_str[index])
第三种方式,内置函数iter()
girl_str = "I love You"
for every_char in iter(girl_str): print(every_char)
第四种方式,内置函数enumerate()
girl_str = "I love You"
for index, every_char in enumerate(girl_str): print(str(index) + every_char)
2/3
=================================================
字符串中的 r前缀: 在Python中,如果字符串的前面有r/R前缀,那么,就会禁用转义符\的功 能:
>>>path = r'C:\new\text.dat' >>>path 'C:\\new\\text.dat'
3/3
>>>print(path) C:\new\text.dat >>>len(path) #虽然打印的形式不一样,但是字符数还是15个
15
上面的例子中,在交互环境下打印,Python将打印结果当成Python code来 看待,因此,会有双斜杠;而print函数打印形式就比较友好。但是,无论 采用哪种打印方式,字符个数是不变的,上述例子中,使用len函数查看, 字符个数还是15个。
对于r前缀,还需要注意的一点是,如果字符串结束标志,即'或者"前面是 一个\,即使使用了r前缀,Python仍然将它看成不合法的字符:
>>>S = r'a\' SyntaxError:EOL while scanning string literal >>>S = r'a\\' # 正确处理方式,仍需双斜杠\\ >>>S 'a\\\\' >>>print(S) a\\ >>>len(S) #每一个斜杠\都看成一个字符
3