您的位置:首页 > 编程语言 > Python开发

python 字符串技巧 from python cookbook

2016-01-05 23:52 966 查看
所有数据进入程序中都只是一串字节

英文字符占一个字节 汉语是两个字节 一字节byte=8bit

Unicode字符串为每种语言的每种字符设定了统一并且唯一的二进制编码

big = r'This is a \tsting' r表示原,字符串里面是什么就是什么,反斜杠就是反斜杠,并不会转义

s.isdigit() 判断是否字符串中都是数字

ord 和 chr 字符和对应阿斯克码值之间的转化

ord(a)

chr(97)

判断对象是否是字符串:

def isStringLike(anobj):

  try: anobj + ''

  except: return False

  else: return True

字符串对齐:

s.ljust(20)

s.rjust(20)

s.center(20)

s.center(20, '+') 不是用空格填充,而是用加号

去除字符串两端空格:

x.lstrip()

x.rstrip()

x.strip()

s.strip('xy') 也可以指定要去除的东西

python的内建函数:

filter(fun, seq)

map(fun, seq)

reduce(fun, seq) 按顺序迭代

reduce(fun, seq, 起始值)

lambda x, y: x+y

operator模块

import operator

operator.add

.....加减乘除等等。。。

help(operator)

对字符串逐字反转:

s[::-1]

只对单词反转:

import re

rev = re.split(r'(\s+)', 'hello world hahaha!')

rev.reverse()

rev = ''.join(rev) #要用空字符来join,因为空格已经在切割的列表中了

返回a中所有不属于b的元素:

set(a).difference(set(b))

translate方法:

import string

s = 'hello world!'

table = string.maketrans('abcde', '12345') #先生成对照表

s.translate(table) #依照对照表进行替换操作

s.translate(table, 'wor') #替换后,删除含有wor的字符

如果只想删除,就将对照表设置为:table = string.maketrans('', ''), 这样只会做删除操作。

3/4 #0

from __future__ import division

3/4 #0.75

4//4 #0

大小写问题:

s.upper() 全部大写

s.lower() 全部小写

s.capitalize() 第一个大写,其余小写

s.tittle() 每个单词的第一个字母大写,其余小写

s.split()

s.split('\n')

s.splitlines()

s.splitlines(True) 会保留结尾的换行符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: