• 2007-12-29 13:53
  • 博客开通了,标记一个:) a new start
  • 你可以让时间加速,也可以让它减慢,你甚至可以让它暂时停止,但是时光不能倒流
    共10页 1 2 3 4 5 6 7 8 9 10 下一页 最后一页
  • 成长中的代码发芽网

    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 deepblue

    Gladder终于支持FF3了,庆祝一个。

  • 寸头

    2008-06-25 00:12:38 by deepblue

    最近北京的天气是一天比一天热,前天一下决心,把以前偏长的头发剪成了寸头。

    从以前的分头变成了寸头,整个人的风格变化很大,感觉还不错,呵呵,好多熟人看见我第一眼都差点没认出我来。

    夏天来了,发型变了,生活也该发生点变化了。

    从对未来的迷茫一步一步走向清晰人生目标,心情不错。

  • Mining The Web:Discovering Knowledge from Hypertext Data

     《网络挖掘:对超文本数据的知识发现》英文原版

    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