- 2007-12-29 13:53
- 博客开通了,标记一个:) a new start
- 你可以让时间加速,也可以让它减慢,你甚至可以让它暂时停止,但是时光不能倒流
-
成长中的代码发芽网
2008-07-02 21:03:38 by deepblue前段时间写了一篇简单介绍代码发芽网的文章,其中对发芽网提出了一点小小的意见,并意外地得到了其开发者的认可。经过一段时间的改进,发芽网不仅采纳了我的意见将代码块放到了一个div里,更添加了不少新的特性:如改变代码背景、字体,切换行号等。
下面是我重新测试的一段代码:
Python代码: Alien Numbers 01 #!/usr/bin/env python
02 #coding=utf-8... -
Gladder支持FF3了
2008-06-29 21:32:33 by deepblueGladder终于支持FF3了,庆祝一个。

-
寸头
2008-06-25 00:12:38 by deepblue最近北京的天气是一天比一天热,前天一下决心,把以前偏长的头发剪成了寸头。
从以前的分头变成了寸头,整个人的风格变化很大,感觉还不错,呵呵,好多熟人看见我第一眼都差点没认出我来。
夏天来了,发型变了,生活也该发生点变化了。
从对未来的迷茫一步一步走向清晰人生目标,心情不错。
-
书籍推荐 - Mining The Web:Discovering Knowledge from Hypertext Data
2008-06-19 23:36:32 by deepblue
《网络挖掘:对超文本数据的知识发现》英文原版
Mining The Web:Discovering Knowledge from Hypertext Data
Soumen Chakrabarti
很好的网络挖掘教程
点击这里下载PDF格式的英文电子版。
-
Python的lambda函数与排序
2008-06-19 23:13:34 by deepblue前几天看到了一行求1000的阶乘的Python代码:
print reduce(lambda x,y:x*y, range(1, 1001))
一下子被python代码的精简与紧凑所折服,故对代码进行了简单的分析。
reduce与range都是Python的内置函数。
range(1,1001)表示生成1到1000的... -
Google Developer Day 2008, 北京
2008-06-13 13:43:32 by deepblue昨天去参加了 Google Developer Day 2008。第一次参加这样大型的活动,场面还是相当壮观的,不得不感叹:google真有钱。两千人左右的大会,免费提供了午餐和晚餐,以及吃不完的茶点、水果和饮料。甚至将google办公楼里的foosball都搬了过来。
讲座从早上9点一直到下午6点,除了中午午饭休息,时间被排得满满的。四个分会场和两个现场实验室几乎一直是爆满,过道上都挤满了站着听讲的人。 四个会场分别介绍了云计算地理平台(google地图API相关),云计算社... -
在blog中让代码语法高亮显示
2008-06-04 22:06:29 by deepblue最近想要贴一些代码到blog中,可是由于blogbus没有集成程序代码语法高亮的功能,直接粘贴的话显得非常难看。到网上找了找,发现了一个不错的在线代码语法高亮工具:发芽网。
这个网站提供了将程序代码转换成能在HTML中的高亮显示的样式,只要将转换后的代码复制粘贴到blog文章里,就可以看到经过语法高亮的代码了,而且还带有行号。下面是我测试的一个python例子
01 #!/usr/bin/env python
02 #coding=utf-8
03
04 def sortedDictValues1(adict):
05 items = adict.items()
06 items.sort()
07 return [(key,value) for key, value in items]
08
09 if __name__ == '__main__':
10 Alist = [(3, 4), (2, 3), (1, 2)]
11 Alist.sort()
12 print Alist
13 #print sortedDictValues1(dict1)经过转换后的程序代码在blog中显示就好看多了。不过美中不足的是代码没有单独放在一个div中,而且行号与代码直接以及行与行之间缺少一些清晰的分割线,显得不够整洁。不管怎样,这个能"支持近百种编程语言的语法高亮"的在线工具还是给我们带来了很大的便利,希望它越做越好!
-
Dictionary的排序
2008-06-01 02:01:51 by deepblue我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了一些精彩的解决办法。
#最简单的方法,这个是按照key值排序:
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]
#又一个按照key值排序,貌似比上一个速度要快点
def sortedDictValues2(adict):
keys = adict.keys()
keys.sort()
return [dict[key] for key in keys]
#还是按key值排序,据说更快。。。而且当key为tuple的时候照样适用
def sortedDictValues3(adict):
keys = adict.keys()
keys.sort()
return map(adict.get, keys)#一行语句搞定:
[(k,di[k]) for k in sorted(di.keys())]
#来一个根据value排序的,先把item的key和value交换位置放入一个list中,再根据list每个元素的第一个值,即原来的value值,排序:
def sort_by_value(d):
items=d.items()
backitems=[[v[1],v[0]] for v in items]
backitems.sort()
return [ backitems[i][1] for i in range(0,len(backitems))]
#还是一行搞定:
[ v for v in sorted(di.values())]#用lambda表达式来排序,更灵活:
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序:
sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)#用sorted函数的key= 参数排序:
# 按照key进行排序
print sorted(dict1.items(), key=lambda d: d[0])
# 按照value进行排序
print sorted(dict1.items(), key=lambda d: d[1])下面给出python内置sorted函数的帮助文档:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list看了上面这么多种对dictionary排序的方法,其实它们的核心思想都一样,即把dictionary中的元素分离出来放到一个list中,对list排序,从而间接实现对dictionary的排序。这个“元素”可以是key,value或者item。
参考资料:
http://aspn.activestate.com/ASPN/Python/Cookbook/Recipe/52306
http://www.javaeye.com/topic/117279




