list.extend(),可以拓展list,a=(0,1),b=(2,3) a.extend(b),a就变成(0,1,2,3)

分割字符串(除去字符串中的,\/;之类的),如果用str.split(),默认是除去空格,然后返回处理过后的list,可以输入特定值如split(';'),但缺点是一次只能处理一个特定的。

 #coding:utf8
def mySplit(s,ds):
res = [s] for d in ds:
t = []
map(lambda x : t.extend(x.split(d)),res)
#实际上就是res.split(d),然后将处理后的list全部加到t中
res = t return [x for x in res if x]#除去空的 s = 'ab;cd|efg;hi..jk\\mn\top'
print mySplit(s,',;|.\\\t')

通过循环使用可以达到最终效果。

在处理复杂情况时使用正则表达式会更简单。

 import re
s = 'ab;cd|efg;hi..jk\\mn\top'
print re.split(r'[,;.\t\\|]+',s)

在判断字符串的开头或结尾,可以直接使用s.startwith()或s.endwith(),这两个函数可以接受tuple。

用re.sub可以做到字符串调换,先利用正则表达式来做到捕获各个组,然后在替换字符串中调整各个捕获组的位置。如将2016-11-06变成11/06/2016这样。

 import re

 datas = ('2015-06-19','2015-06-20','2015-06-30')

 for data in datas:
# print re.sub(r'(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1',data)
print re.sub(r'(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})',r'\g<month>/\g<day>/\g<year>',data)

拼接字符串用str.join()方法,'[]'.join(iter)(就是指每个元素中间可以选择加关键字)但是注意方法接收的对象,如果有数字需要转换为字符,而在这里,我们最好用()来传入迭代器而不是只用一次的list。

 data = ['a','b','c','d',234]

 print ''.join((str(x) for x in data))#用圆括号就是迭代器,用方括号就是列表

关于对字符串的对齐操作,可以用str.ljust(),str.rjust(),str.center()之类的,如a = kkk, a.ljust(20,[=])就是会输出20个字符kkk在最左边,然后填充17个=进去。

用format()然后传入'<20'(左对齐,20个字符),'>20','^20'这些参数也跟上面那种方法一样。

关于删除某些字符串的方法

 #coding:utf8
s = '-------abc+++++++++'
print s.strip('+-')#还有lstrip,rstrip,缺点在于只能去掉左右两端的
s = 'abc:123'
print s[:3] + s[4:]#切片用处很大局限
s = 'abc\tdef\tghc123\t'
print s.replace('\t', '')#只能替换单个
import re
s = 'abc\td\ref\tghc\n123\t'
print re.sub('[\t\r\n]','',s)#用正则应该是最好的
#s.translate(table[,deletechars])table可以是一个字典,里面对应着映射关系表;或者传入None,然后再传入要删除的关键字。
import string
s = 'abc123xyz'
print s.translate(string.maketrans('abcxyz', 'xyzabc'))#用maketrans()可以直接建立映射表
print s.translate(None,'')

Python168的学习笔记3的更多相关文章

  1. Python168的学习笔记8

    #coding:utf8 #斐波那契数列,第三项起,每一项都等于前两项之和 def memo(func): cache = {}#闭包 def wrap(*args): if args not in ...

  2. Python168的学习笔记7

    关于多线程操作. 对于IO操作,如访问网站,写入磁盘这种需要时间等待响应的操作,多个cpu也几乎不能提高效率. 对于CPU密集型操作,如这个格式转换,可以通过多个cpu同时去进行. 但是对于pytho ...

  3. Python168的学习笔记6

    如何派生内置不可变类型并修改实例化行为. 个人理解,如何派生出自己想要的类. class IntTuple(tuple): def __new__(cls,iterable): g = (x for ...

  4. Python168的学习笔记5

    关于对csv文件的操作. python标准库中有csv的库,使用非常方便. import csv with open('pingan.csv','rb') as rf: reader = csv.re ...

  5. Python168的学习笔记4

    关于普通文本文件的读写 python2.7中,未注明的字符都是以acsii来编码的,而要让字符能够通用,必须声明为unicode. s=u'你好',s.encode('utf8')就是指用utf8来进 ...

  6. Python168的学习笔记2

    关于for循环,其实质是利用被循环对象的__iter__,或者__getitem__属性接口,由可迭代对象得到迭代器.for循环就是不断调用.next(),直到最终捕获到stop. import re ...

  7. Python168的学习笔记1

    在对list的条件选择有两种常用方法,直接使用filter函数,就是filter(func,sequence);另外一种就是迭代操作,类似 x for x in sequence func.这两种方法 ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

随机推荐

  1. CentOS7最小化安装之后无法联网以及无法使用ifconfig以及无法使用yum安装软件

    无法联网解决办法,CentOS-7默认网卡未激活,进入BOOS设置修改,或者直接修改配置文件,然后重启服务 1 修改网卡配置文件: 激活: 2 重启服务即可: service network rest ...

  2. 【codeforces】【比赛题解】#868 CF Round #438 (Div.1+Div.2)

    这次是Div.1+Div.2,所以有7题. 因为时间较早,而且正好赶上训练,所以机房开黑做. 然而我们都只做了3题.:(. 链接. [A]声控解锁 题意: Arkady的宠物狗Mu-mu有一只手机.它 ...

  3. socket系统调用

    SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol) { int retval; struct socket *sock; in ...

  4. Git log diff config高级进阶

    Git 历史相关和 git config 高级进阶 前一段时间分享了一篇<更好的 git log>简要介绍怎么美化 git log 命令,其中提到了 alias命令,今天再继续谈谈 git ...

  5. 数据库-mysql函数

    一:MySQL中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字符集, LENGTH()返 ...

  6. MyEclipse文本对比界面样式修改

    MyEclipse刚安装好,使用文件对比的时候,发现两边的对比颜色非常浅,不同的地方不容易发现,可以通过以下配置将显示颜色调深一点. 配置 效果

  7. wpf 查找 子元素

    RightContainer.ApplyTemplate();//如果找不到,就执行该句试一试 var xxx=UIHelper.FindChild<ScrollViewer>(Right ...

  8. 打印数据的字节(十六进制)表示-c语言代码

    先取数据地址,转换成单字节长度的类型(unsigned char)的指针,然后按照十六进制逐字节打印即可,格式为“%.2x”. sizeof()函数获取数据的字节数. /* $begin show-b ...

  9. InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法

    简述 InstallShield已经内建了对MySQL和Oracle的支持.但是这个功能是通过ODBC实现的,它对SQL脚本的格式要求非常严格,因此已经通过官方客户端测试的脚本在IS中执行时往往就会报 ...

  10. 一步一步学习IdentityServer3 (10)

    在某些服务器环境下 identityserver3 会闹情绪, 比如在google浏览器下授权失败(陷入死循环) 查了很多资料好像然并卵 Microsoft.Owin.Security.Notific ...