Python祛除列表中重复的元素

比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a']l2 = list(set(l1))print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a']l2 = {}.fromkeys(l1).keys()print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c', 'b', 'd'] 如果想要保持他们原来的排序: 用list类的sort方法 l1 = ['b','c','d','b','c...
Python | 2010-04-02 16:46 | 阅读 2579 次 | 评论 0 条

python set 简单应用

set也是python里一个重要类型,有时候还是蛮好用的。详细文档和说明可以用help(set) 查看其说明和方法。 下面来点简单的小例子说明把。 >>> x = set('spam') >>> y = set(['h','a','m']) >>> x, y (set(['a', 'p', 's', 'm']), set(['a', 'h', 'm'])) 再来些小应用。 >>> x & y # 交集 set(['a', 'm']) >>> x | y # 并集 set(['a', 'p', 's', 'h', 'm']) >>> x - y # 差集 set(['p', 's'...
Python | 2010-04-02 16:15 | 阅读 1857 次 | 评论 0 条

python实现php的explode和implode

php的explode和implode很方便,python没有这两个函数,不过python有split和join 实现explode >>> str = 'a|b|c|d|e'>>> str.split("|")['a', 'b', 'c', 'd', 'e'] 实现implode >>> list = ['a', 'b', 'c', 'd', 'e']>>> "|".join(list)'a|b|c|d|e'
Python | 2010-04-02 15:47 | 阅读 17033 次 | 评论 1 条

HTML UTF-8编码转换成Python的可读形式

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head><body>&amp;#29256;&amp;#26435;&amp;#x6240;&amp;#x6709;</body></html> >>> print unichr(29256)版>>> print unichr(26435)权>>> print unichr(0x6240)所>>> print unichr(0x6709)有
默认分类 | 2010-04-02 13:18 | 阅读 1866 次 | 评论 1 条

Web.py中Sqlalchemy scoped_session的使用

Sqlalchemy中, 创建Session是一件比较耗资源的事情.在Web环境中, 我们需要以一种节省的方式使用, SA提供了一个对Session的包装, scoped_session, 以确保能共享一个Session.官方文档的描述 http://www.sqlalchemy.org/docs/05/session.html#unitofwork_contextual_creating 文档中并没有直接给出最佳实践. 我做了一点的google search后, 将代码改为: #sqlalchemyengine = create_engine('mysql://root:pa...
Python | 2010-03-29 18:40 | 阅读 5507 次 | 评论 1 条

web.py中的memoize

web.memoize,貌似是缓存函数返回值的 文档中的实例 | >>> calls = 0 | >>> def howmanytimeshaveibeencalled(): | ... global calls | ... calls += 1 | ... return calls | >>> fastcalls = memoize(howmanytimeshaveibeencalled) | >>> howmanytimeshaveibeencalled() | 1 |...
默认分类 | 2010-03-27 23:17 | 阅读 2552 次 | 评论 1 条

Django:locals()小技巧

locals()小技巧 看看最近的current_datetime: 代码 def current_datetime(request): now = datetime.datetime.now() return render_to_response('current_datetime.html', {'current_date':now}) 这个例子中你会发现你自己计算一些值后存储在变量中(例如now)并传递给模板 懒程序员可能会觉得有点繁琐,既要给临时变量取名又要给模板变量取名 这不仅仅是冗余,这是过度输入 如果你很懒或者你想保持代码整洁,使用...
默认分类 | 2010-03-22 01:01 | 阅读 3157 次 | 评论 1 条

python中创建空字典的方法

一个是用花括号 d = {} 另一个是用内置函数dict() d = dict()
默认分类 | 2010-03-21 23:50 | 阅读 37311 次 | 评论 1 条

Python:locals 和 globals

Python有两个内置的函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。 首先,是关于名字空间的一个名词解释。是枯燥,但是很重要,所以要耐心些。Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问,一会我们就会看到。 在一个Python程序中的任何一个地方,都存在几个可用的名字空间。每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。每个模块拥有它自已的名字空间,叫做全局名字空间...
默认分类 | 2010-03-21 23:32 | 阅读 3453 次 | 评论 1 条

php.exe php-cgi.exe php-win.exe的区别

php.exe是提供来在命令行执行PHP文件的工具,比如你在有文件ABC.PHP,那么你可以在CMD命令提示符下执行命令php.exe abc.php来运行这个PHP文件。php-cgi.exe是提供来作为CGI使用的,区别是在文件输出所有内容之前,会自动输出一个下面的HTTP头:X-Powered-By: PHP/5.2.5Content-type: text/htmlphp-win.exe也可以执行PHP文件,区别是大打开控制台,不显示输出内容。可以用来编写无需显示界面的文件处理、网路服务等程序。
默认分类 | 2010-03-20 12:26 | 阅读 4674 次 | 评论 0 条

找到一个更好的代码高亮的库

python实现的 http://pygments.org/ 比http://www.codehighlighter.com/支持的语言更多,更重要的是开源
默认分类 | 2010-03-17 16:26 | 阅读 2836 次 | 评论 1 条

Using XML Resources with XRC

直接上链接了 http://wiki.wxwidgets.org/Using_XML_Resources_with_XRC
默认分类 | 2010-03-11 19:34 | 阅读 1865 次 | 评论 1 条

安装setuptools模块不需要install参数

把这个安装脚本下载下来 :http://peak.telecommunity.com/dist/ez_setup.py 然后到这个脚本所在的目录,直接python ez_setup.py
Python | 2010-03-11 13:53 | 阅读 1872 次 | 评论 1 条

py2exe的用法小汇

console方式编译 setup(console=["consoles.py"]) windows方式编译 setup(windows=["windows.py"]) 编译ico图标 setup(windows = [{"script":"ico.py", "icon_resources": [(1, "myico.ico")]} ]) 一次编译多个文件 在编译的时候把多个文件以列表方式传递给setup即可: setup(console=["my)one.py","my_two.py"]) setup(windows=["my)one.py","my_two.py"]...
默认分类 | 2010-03-09 21:52 | 阅读 3026 次 | 评论 1 条

微软夸起海口一点也不含糊

微软的 Silverlight 已经发展到 V4,声称拥有 45% 的市场,在欧洲和亚洲更高(60%)。它也提供跨平台和浏览器支持,尽管对 Linux 的支持不够及时。
默认分类 | 2010-03-06 13:34 | 阅读 1824 次 | 评论 1 条

Python中的pprint和pformat简介

pprint模块中使用的格式化可以按照一种格式正确的显示数据, 这种格式即可被解析器解析, 又很易读. 输出保存在一个单行内, 但如果有必要, 在分割多行数据时也可使用缩进表示. import sysimport pprintpprint.pprint(sys.path) 运行结果: [ 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\\lib', 'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\\...
Python | 2010-03-02 23:33 | 阅读 5924 次 | 评论 0 条

py常用模块简介

Tkinter———— Python默认的图形界面接口。   Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平...
Python | 2010-02-24 02:58 | 阅读 2172 次 | 评论 1 条

祝BCCN的朋友们新年快乐

虎年吉祥
默认分类 | 2010-02-16 22:36 | 阅读 1710 次 | 评论 1 条

如何刷新DNS缓存

首先进入命令提示符下(开始——运行——cmd): 先运行:ipconfig /displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令 ipconfig /flushdns 这时本机的dns缓存信息已经清空了,我们可以再次输入第一次输入的命令来看一下, ipconfig /displaydns
默认分类 | 2010-02-09 19:32 | 阅读 2760 次 | 评论 2 条

php用正则判断是否为数字

if(preg_match("/^\d*$/",$did)){ echo('是数字');}else{ echo('不是数字');}
默认分类 | 2010-01-05 23:58 | 阅读 2204 次 | 评论 1 条
浏览2799887次
文章归档