Python
文章平均质量分 80
chen_lovelotus
这个作者很懒,什么都没留下…
展开
-
两个LIST 合成一个DICT
ListA = ['10', '10', '20', '20', '20', '24']ListB = ['23', '44', '11', '19', '57', '3']d = {}for a, b in map(None, ListA, ListB):if not d.has_key(a): d[a] = [b]else: d[a].append(b)转载 2012-02-02 10:49:51 · 998 阅读 · 0 评论 -
Python Collection 小技巧
独立软件开发者 Alex Marandon 在他的博客中介绍了数个关于 Python Collection 的实用小技巧,在此与诸位分享。判断一个 list 是否为空传统的方式:if len(mylist): # Do something with my listelse: # The list is empty由于一个空 list 本身等同于 Fal转载 2012-02-03 12:24:46 · 821 阅读 · 0 评论 -
除了cPickle,cjson外还有没有更高效点的序列化库了
msgpack最快,而且是跨语言的,二进制,但只能打包简单的list,dict,int,string,unicode,在memcache之类的 字符串协议里会有问题。 marshal其次,也是二进制的,可以打包大多数python对象,缺点同msgpack,另文档上说各版本的python实现会不一样,但我这测下 来三台机器分别是stackless 2.6.5 2.7.2 python 2转载 2012-02-02 15:51:17 · 1146 阅读 · 0 评论 -
filter,map,reduce
“filter(函数, 序列)”返回一个序列(尽可能与原来同类型),序列元素是原序列中由 指定的函数筛选出来的那些,筛选规则是“函数(序列元素)=true”。filter()可以用来取出 满足条件的子集。例如,为了计算一些素数:>>> def f(x): return x % 2 != 0 and x % 3 != 0...>>> filter(f, range(2, 25))[5, 7转载 2012-02-02 14:46:20 · 360 阅读 · 0 评论 -
marshal 对象的序列化
有时候,要把内存中的一个对象持久化保存到磁盘上,或者序列化成二进制流通过网络发送到远程主机上。Python中有很多模块提供了序列化与反序列化的功能,如:marshal, pickle, cPickle等等。今天就讲讲marshal模块。 注意: marshal并不是一个通用的模块,在某些时候它是一个不被推荐使用的模块,因为使用marshal序列化的二进制数据格式还没有文档化,在转载 2012-02-02 15:53:05 · 631 阅读 · 0 评论 -
python对象序列化或持久化的方法
一、Python对象持久化方法目前为止,据我所知,在python中对象持久化有以下几种方法:1. 使用(dbhash/bsddb, dbm, gdbm, dumbdbm 等)以及它们的"管理器"( anydbm )。只提供了 Python 字 符串的永久性储存. 提供一个类似字典和文件的对象,可以完成字符串的永久性存储。2. 使用marshal和pickle来序列化py转载 2012-02-04 14:14:44 · 1895 阅读 · 0 评论 -
python随机数生成
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.random()用于生成一个0到1的随机符点数: 0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限转载 2012-01-04 16:13:09 · 673 阅读 · 0 评论 -
错误和异常
#encoding=utf-8 ######### 错误和异常 ############## ## ************ Part 1: 异常 ***************** #####错误 #从软件方面来说, 错误是语法或是逻辑上的.语法错误指示软件的结构上有错误, 导致不能被解释器解释或编译器无法编译. #这些错误必须在程序执行前纠正. #当程序的转载 2012-01-04 19:51:28 · 677 阅读 · 0 评论