任务:用每次处理一个字符的方式处理字符串
解决方案:
1, 可创建一个列表,其子项是字符串的字符(意思是每个子项是一个字符串,长度为一),可以调用内建list,用字符串作为参数:
thelist = list(thestring)
2, 也可以不创建,直接用for语句对该字符串循环遍历:
for c in thestring:
do_something_with(c)
3, 或者使用列表推导中的for来遍历:
results = [ do_something_with(c) for c in thestring ]
4, 再或者,和列表推导效果完全一样,可以用内建的map函数,每次取得一个字符就调用一次函数:
results = map(do_something, thestring)
5, 如果想获得的是该字符串的所有字符集合,还可以调用sets.Set,并将字符串作为参数(可以用同样方法直接调用内建的set):
import sets
magic_chars = sets.Set('abracadabra')
poppins_chars = sets.Set('supercalifragilisticexpialidocious')
print ''.join(magic_chars & poppins_chars) # 集合的交集
结果:
arcd