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

xrange与range的区别,xrange是类,生成器;然后range是直接返回list,所以多用xrange好。

timeit 后面接上操作语句,可以得到操作语句的用时。

对字典dict的筛选操作也类似,同样运用迭代的方法{k:v for k,v in dict.iteritems() func}

对set的操作也类似,同样的{x for x in set func}

关于为元组的元素命名,增加程序可读性。

eg:user=('john',16,'male')

1,是通过关键字=常量,如:name=0,然后user[name]就可以访问john了

2,通过collection.namedtuple,在创建tuple的时候就定义每个元素的名字,如:user = namedtuple('user',['name','age','sex'])

namedtuple就是tuple的一个子类,其实也就是用一个类的生成器来生成tuple,访问时可以直接用类对象user.name就得到john了。

生成随机list的时候,注意语法 data = [randint(0,10) for _ in xrange(8)]这个 _ 用得好。

用预设值生成dict的时候,可以用dict.fromkeys(seq[,values])来生成,就是用预设的键,如

利用collections库可以更高效地统计,首先利用Counter,就可以生成列表中,每个元素对应出现次数的dict。

然后用Counter.most_common(n),就可以得到出现频度最高的n个元素。

在对英语文本进行操作时,需要用到正则表达式。

import re,然后利用re.split('\W+',object),就可以在非字母处都进行分割。

排序用内置函数sorted。但如果直接用sorted对dict操作,操作的对象是key,无法直接得到我们想要的效果。

1,用zip函数构造我们想要的元组来比较,zip(dict.values(),dict.keys())可以得到value和key组成的元组。

而针对内存的使用,用迭代的方法更加节省内存,所以用zip(dict.itervalues(),dict.iterkeys())会更好。

ps:对元组元素进行排序时,先进行元组的第一个元素比较,然后再进行第二个,如此类推。

2,为sorted函数输入关键字比较,sorted(dict.items(),key=lambda x : x[1])

dict.items()返回的是(key,value),而后面关键字key等于x元组的第二个元素,也就是value,所以这样就直接对value就行比较了。

random.sample随机取样。sample(seq,n)在seq中随机取n个值。

找到多个字典的公共键,首先用dict.viewkeys()获取当前dict的key,这个函数是返回一个set。然后用&(与操作),就可以得到多个dict的公共键了。

语法为 reduce(lambda a,b : a&b,map(dict.viewkeys,[dict1,dict2,dict3...]))

当对dict有顺序要求时,可以利用collections的OrderedDict,OrderedDict是按进入字典的顺序来进行排序的。

双端循环队列可以采用collections中的deque.

存储文件,可以用序列化工具pickle库中的dump,dump(object,file),将目标序列化到文件。反序列化操作就是pickle.load(file)。注意在反序列化时,要提供相应类的定义。

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

  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的学习笔记3

    list.extend(),可以拓展list,a=(0,1),b=(2,3) a.extend(b),a就变成(0,1,2,3) 分割字符串(除去字符串中的,\/;之类的),如果用str.split( ...

  7. Python168的学习笔记2

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

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

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

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

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

随机推荐

  1. os._exit(), sys.exit(), exit()

    1. sys.exit(n) 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作. n默认值为0, 表示正常退出. 其他都是非正常退出. 还可以sys.exit("sorry ...

  2. mysql状态查看 QPS/TPS/缓存命中率查看【转】

    运行中的mysql状态查看   对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态.    (1)QPS(每秒Query量)  QPS = Questions(or Queries ...

  3. ajax代码示例

    function loadXMLDoc(idName,url,sendOut) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, ...

  4. 数据库-mysql索引

    MySQL 索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索 ...

  5. java基础35 双例集合Map及其常用方法

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  6. Java---容器基础总结

    Java提供了大量持有对象的方式: (1) 数组将数字与对象联系起来. 它保存类型明确的对象,查询对象时,不需要对结果做类型转换.它可以是多维的, 可以保存基本类型的数据. 但是,数组一旦生成,其容量 ...

  7. Python学习笔记:lambda表达式

    lambda表达式:通常是在需要一个函数,但又不想去命名一个函数的时候使用,即匿名函数. 示例如下: add = lambda x,y : x+ y add(1,2) # 结果为3 1.应用在函数式编 ...

  8. HBase(九)HBase表以及Rowkey的设计

    一 命名空间 1 命名空间的结构 1) Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定, 则在 default 默认的命名空间中. 2) RegionServer g ...

  9. qt study2

  10. Linux信号量同步共享内存实验.

    Linux信号量同步共享内存实验. Linux信号量同步共享内存实验. 简述 程序流程 信号量和共享内存的系统函数 信号量系统函数及接口 共享内存系统函数及接口 写程序 读程序 简述 本文主要内容是自 ...