比较容易记忆的是用内置的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...
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'...
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'
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head><body>&#29256;&#26435;&#x6240;&#x6709;</body></html>
>>> print unichr(29256)版>>> print unichr(26435)权>>> print unichr(0x6240)所>>> print unichr(0x6709)有
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...
web.memoize,貌似是缓存函数返回值的
文档中的实例
| >>> calls = 0 | >>> def howmanytimeshaveibeencalled(): | ... global calls | ... calls += 1 | ... return calls | >>> fastcalls = memoize(howmanytimeshaveibeencalled) | >>> howmanytimeshaveibeencalled() | 1 |...
locals()小技巧 看看最近的current_datetime:
代码
def current_datetime(request): now = datetime.datetime.now() return render_to_response('current_datetime.html', {'current_date':now}) 这个例子中你会发现你自己计算一些值后存储在变量中(例如now)并传递给模板 懒程序员可能会觉得有点繁琐,既要给临时变量取名又要给模板变量取名 这不仅仅是冗余,这是过度输入 如果你很懒或者你想保持代码整洁,使用...
一个是用花括号
d = {}
另一个是用内置函数dict()
d = dict()
Python有两个内置的函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。
首先,是关于名字空间的一个名词解释。是枯燥,但是很重要,所以要耐心些。Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问,一会我们就会看到。
在一个Python程序中的任何一个地方,都存在几个可用的名字空间。每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量。每个模块拥有它自已的名字空间,叫做全局名字空间...
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文件,区别是大打开控制台,不显示输出内容。可以用来编写无需显示界面的文件处理、网路服务等程序。
python实现的 http://pygments.org/
比http://www.codehighlighter.com/支持的语言更多,更重要的是开源
直接上链接了
http://wiki.wxwidgets.org/Using_XML_Resources_with_XRC
把这个安装脚本下载下来 :http://peak.telecommunity.com/dist/ez_setup.py
然后到这个脚本所在的目录,直接python ez_setup.py
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"]...
微软的 Silverlight 已经发展到 V4,声称拥有 45% 的市场,在欧洲和亚洲更高(60%)。它也提供跨平台和浏览器支持,尽管对 Linux 的支持不够及时。
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:\\...
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是跨平台,在各种平...
虎年吉祥
首先进入命令提示符下(开始——运行——cmd):
先运行:ipconfig /displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令
ipconfig /flushdns
这时本机的dns缓存信息已经清空了,我们可以再次输入第一次输入的命令来看一下,
ipconfig /displaydns
if(preg_match("/^\d*$/",$did)){ echo('是数字');}else{ echo('不是数字');}