1.1每次处理一个字符(即每次处理一个字符的方式处理字符串)

print list('theString') #方法一,转列表
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
for c in 'theString':#方法二,for循环
print c,

结果:t h e S t r i n g

print [c for c in 'theString'] #方法三,列表推导式
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print map(str,'theString')#方法四,map处理,和列表推导式一样
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print set('thethe')#此方法只适应特定的时刻,看结果就知道,set把重复的字符去掉了,并且无序

结果:set(['h', 'e', 't'])

1.2字符和字符值的转换

print ord('a') #字符转字符值
print chr(97) #字符值转字符 print ord(u'\u2020') #返回unicode码值
print repr(unichr(8224)) #返回unicode字符串 print map(ord,'kaluoc') #字符串转换成各个字符的值的列表
print ''.join(map(chr,range(97,100))) #将值转换成字符并连接成字符串

结果:

97
a
8224
u'\u2020' [107, 97, 108, 117, 111, 99]
abc

额外的知识:

str()和chr()区别:

print chr(97) #返回参数对应的ASCII单字符的字符串
print str(97) #返回该参数的文本形式的字符串

结果:

a

97

str()和repr()区别:

print 1,str('   '),1 #对用户比较友好的字符串形式,通常无法用于eval()求值,一般用在print语句输出
print 1,repr(' '),1 #对python(即机器)比较友好

结果:

1     1
1 ' ' 1

1.3测试一个对象是否是类字符串

def isExactlyAString(anobj):
return type(anobj) is type('') #这是糟糕的,因为unicode的无法通过测试,用户自己自定义的也无法通过测试
def isAString(anobj):
return isinstance(anobj,basestring)#basestring是str和unicode的基类,但这不完美,因为有些类不是从basestring派生的,如UserString
def isStringLike(anobj):
try:anobj.lower()+anobj+'' #通过对参数anobj的一些String操作,来测试参数是否是类字符,较完美,但速度有影响
except: return False
else: return True

1.4字符串对齐

print '|','kaluoc'.ljust(20),'|','kaluoc'.center(20),'|','kaluoc'.rjust(20),'|' #后面的参数20,总共的空格数
print 'kaluoc'.center(20,'+') #可指定填充特定字符

结果:

| kaluoc               |        kaluoc        |               kaluoc |
+++++++kaluoc+++++++

1.5去除字符串两端的空格

x='    kaluoc   '
print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
x='xyxxyy kaluocyx yysx'
print '|'+x.strip('xy')+'|' #仅仅去掉两端的xy,但空格被保存下来了

结果:

| kaluoc    |     kaluoc | kaluoc |
| kaluocyx yys|

最新文章

  1. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(四):自定义T4模板快速生成页面
  2. css只显示两行 超过显示点点点
  3. freemaker时间格式转换,精确到毫秒
  4. Evolutionary Computing: [reading notes]On the Life-Long Learning Capabilities of a NELLI*: A Hyper-Heuristic Optimisation System
  5. Lead推荐学asp.net书籍
  6. PHP大批量插入数据库的3种方法和速度对比
  7. 20个C语言中常用宏定义总结
  8. Asp.Net 导出Excel数据文件
  9. 02_Jquery_03_类选择器
  10. 解决weblogic与系统时间相差8小时的问题
  11. MySQL计数器表的设计
  12. Volley源码学习笔记
  13. 201621123088《Java程序设计》第1周学习总结
  14. Java中ArrayList与LinkedList的区别
  15. 框架学习之Struts2(三)---OGNL和值栈
  16. day02-运算符 and 和 or 的用法
  17. An SDN-NFV Platform for Personal Cloud Services
  18. Frist one
  19. jquery首页图片轮播
  20. fiddler2抓包数据工具使用教程

热门文章

  1. 将程序添加到右键菜单和图标(以记事本、UltraEdit为例)
  2. java设计模式之五原型模式(Prototype)
  3. 如何让Gridview在没有数据的时候显示表头(asp.net)
  4. centos6的安装
  5. php 链接中加参数传递
  6. ORACLE经常使用的命令
  7. Ping域名惊现65.49.2.178
  8. 【转】 Android项目的mvc模式
  9. MobileProbe的使用
  10. Attribute Routing